Bug 6546 – alias this + IdentityExpression doesn't work

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2011-08-23T08:25:00Z
Last change time
2011-08-24T00:27:34Z
Keywords
patch, rejects-valid
Assigned to
nobody
Creator
k.hara.pg

Comments

Comment #0 by k.hara.pg — 2011-08-23T08:25:33Z
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 }
Comment #1 by k.hara.pg — 2011-08-23T20:28:43Z
Comment #2 by bugzilla — 2011-08-24T00:27:34Z