[Issue 17870] New: recursive template "T is nested in both"
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Oct 1 19:03:30 UTC 2017
https://issues.dlang.org/show_bug.cgi?id=17870
Issue ID: 17870
Summary: recursive template "T is nested in both"
Product: D
Version: D2
Hardware: x86
OS: Windows
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: nicolas.jinchereau at gmail.com
class B { int a; }
class D1 : B { int b; }
class D2 : D1 { int c; }
template TupleOf(Classes...)
{
static if(Classes.length > 1)
alias TupleOf = AliasSeq!(Classes[0].tupleof, TupleOf!(Classes[1..$]));
else static if(Classes.length == 1)
alias TupleOf = AliasSeq!(Classes[0].tupleof);
else
alias TupleOf = AliasSeq!();
}
int main(string[] argv)
{
alias allClasses = AliasSeq!(D2, BaseClassesTuple!D2);
alias allFields = TupleOf!allClasses;
return 0;
}
Error: template instance AliasSeq!(b, a) AliasSeq!(b, a) is nested in both D1
and B
Error: template instance main.TupleOf!(D1, B, Object) error instantiating
instantiated from here: TupleOf!(D2, D1, B, Object)
--
More information about the Digitalmars-d-bugs
mailing list