digitalmars.D.bugs - [Issue 20917] New: stacking alias this, drops data during assignment
- d-bugmail puremagic.com (38/38) Jun 09 2020 https://issues.dlang.org/show_bug.cgi?id=20917
https://issues.dlang.org/show_bug.cgi?id=20917 Issue ID: 20917 Summary: stacking alias this, drops data during assignment Product: D Version: D2 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: crazymonkyyy gmail.com struct ihatecompilers(T,size_t n){ struct hate{ T payload; alias payload this; float depthofhatred=float.max; } hate data; void opAssign(T a){ data=a; import std.stdio; data.writeln; assert(data==a); } } unittest{ struct inner{int a;} struct outer{ inner payload;alias payload this; string metadata; } ihatecompilers!(outer,100) foo; inner bar= inner(10); foo=outer(bar,"very very very important data"); } foo is assigned as outer(inner(10),""), droping the very very important data --
Jun 09 2020