[Issue 6546] New: alias this + IdentityExpression doesn't work
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Aug 23 08:25:38 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6546
Summary: alias this + IdentityExpression doesn't work
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Keywords: rejects-valid
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: k.hara.pg at gmail.com
--- Comment #0 from Kenji Hara <k.hara.pg at gmail.com> 2011-08-23 08:25:33 PDT ---
I found this bug while std.typecons.Rebindable checking.
Test cases.
----
class C {}
class D : C {}
struct S { C c; alias c this; } // S : C
struct T { S s; alias s this; } // T : S
struct U { T t; alias t this; } // U : T
void main()
{
C c;
D d;
S s;
T t;
U u;
assert(c is c); // OK
assert(c is d); // OK
assert(c is s); // OK
assert(c is t); // OK
assert(c is u); // OK
assert(d is c); // OK
assert(d is d); // OK
assert(d is s); // doesn't work
assert(d is t); // doesn't work
assert(d is u); // doesn't work
assert(s is c); // OK
assert(s is d); // doesn't work
assert(s is s); // OK
assert(s is t); // doesn't work
assert(s is u); // doesn't work
assert(t is c); // OK
assert(t is d); // doesn't work
assert(t is s); // doesn't work
assert(t is t); // OK
assert(t is u); // doesn't work
assert(u is c); // OK
assert(u is d); // doesn't work
assert(u is s); // doesn't work
assert(u is t); // doesn't work
assert(u is u); // OK
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list