LINUX.ORG.RU

История изменений

Исправление IceRain, (текущая версия) :

Спрашивал на офф форуме несколько раз, но может здесь кто ответит:

  • Есть где-то вики или что-то подобное со статусом поддержки @nogc в языковых конструкциях и Phobos?
  • Какую библиотеку можно использовать для умных указателей, динамических массивов. Пробовал использовать automem, но не смог скастовать местный unique_ptr от реализации к интерфейсу.
import core.stdc.stdio;
import automem;
import std.experimental.allocator.mallocator : Mallocator;

interface IGetInt
{
    @nogc int GetInt();
}

class Foo : IGetInt
{
    @nogc int GetInt(){ return 42; }
}

@nogc void main()
{
    auto foo = Unique!(Foo, Mallocator).construct;
    
    printf("Value is %d!\n", foo.GetInt());

//     Unique!(IGetInt, Mallocator) ifoo = Unique!(Foo, Mallocator).construct;
//     printf("Value is %d!\n", ifoo.GetInt());
}

cast yetanother

Исходная версия IceRain, :

nogc

Спрашивал на офф форуме несколько раз, но может здесь кто ответит:

  • Есть где-то вики или что-то подобное со статусом поддержки @nogc в языковых конструкциях и Phobos?
  • Какую библиотеку можно использовать для умных указателей, динамических массивов. Пробовал использовать automem, но не смог скастовать местный unique_ptr от реализации к интерфейсу.

    (примерный код) Unique!IInterface some = Unique!Realization.construct

cast yetanother