[Issue 20917] stacking alias this, drops data during assignment
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Jun 9 22:53:03 UTC 2020
https://issues.dlang.org/show_bug.cgi?id=20917
Stanislav Blinov <stanislav.blinov at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |stanislav.blinov at gmail.com
Resolution|--- |INVALID
--- Comment #1 from Stanislav Blinov <stanislav.blinov at gmail.com> ---
void opAssign(T a) {
data = a;
// hate = outer; Needs implicit conversion.
// outer converts to inner.
// hate = inner; Needs implicit conversion.
// No implicit conversion found. Lookup through hate's alias this.
// getAliasThis(hate) -> outer.
// outer = inner; Needs implicit conversion.
// No implicit conversion found. Lookup through outer's alias this.
// getAliasThis(outer) -> inner.
// inner = inner;
assert(data == a); // makes incorrect assumption
}
You need to define opAssign(T) for hate.
--
More information about the Digitalmars-d-bugs
mailing list