← Back to index
|
Original Bugzilla link
Bug 7731 – Assertion failure: 't' on line 7911 in file 'mtype.c'
Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-03-19T06:27:00Z
Last change time
2012-03-24T22:26:48Z
Keywords
ice, pull
Assigned to
nobody
Creator
dmitry.olsh
Comments
Comment #0
by dmitry.olsh — 2012-03-19T06:27:50Z
That's the exact output of dmd 2.059head, on win 7: Assertion failure: 't' on line 7911 in file 'mtype.c' abnormal program termination //code struct A{ int a; } template Inherit(alias X) { X __super; alias __super this; } struct B{ mixin Inherit!A; int b; } struct PolyPtr(X) { X* _payload; static if(is(typeof(X.init.__super))) { alias typeof(X.init.__super) Super; @property auto getSuper(){ return PolyPtr!Super(&_payload.__super); } alias getSuper this; } // alias _payload this;//multiple alias this, sigh auto opDispatch(string s)(){ return mixin("_payload."~s); } } template create(X) { PolyPtr!X create(X, T...)(T args){ return PolyPtr!X(args); } } void f1(PolyPtr!A a) {/*...*/} void f2(PolyPtr!B b) {f1(b);/*...*/} void main(){ auto b = create!B(); }
Comment #1
by k.hara.pg — 2012-03-24T01:47:36Z
https://github.com/D-Programming-Language/dmd/pull/833
Comment #2
by github-bugzilla — 2012-03-24T21:17:50Z
Commit pushed to master at
https://github.com/D-Programming-Language/dmd
https://github.com/D-Programming-Language/dmd/commit/daeed10cdda3bf21e697002944ed09e56cad76b3
Merge pull request #833 from 9rnsr/fix7731 Issue 7731 - Assertion failure: 't' on line 7911 in file 'mtype.c'