Cannot use std.array.Appender in recursive types
Nordlöw via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Aug 9 11:25:23 PDT 2017
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:
More information about the Digitalmars-d-learn
mailing list