Why doesn't appending to `subs` work with std.array.Appender in

    struct T
    {
        string src;
        import std.array : Appender;
        Appender!(T[]) subs;
    }
    T t;
    t.subs ~= T.init; // ERRORS
    t.subs.put(T.init); // ERRORS

when it works with builtin arrays as in

    struct S
    {
        string src;
        S[] subs;
    }
    S s;
    s.subs ~= S.init;

?

Specifically

    t.subs ~= T.init

errors as

    Error: cannot append type T to type Appender!(T[])

and

    t.subs.put(T.init);

errors as

Error: template std.array.Appender!(T[]).Appender.put cannot deduce function from argument types !()(T), candidates are:

Reply via email to