← Back to index
|
Original Bugzilla link
Bug 13776 – [REG2.067a] Incorrect "recursive alias declaration" error with `__traits(compiles, ...)`
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-11-25T15:39:00Z
Last change time
2015-01-31T16:48:18Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
verylonglogin.reg
Comments
Comment #0
by verylonglogin.reg — 2014-11-25T15:39:51Z
This code used to compile: --- enum t1(T) = __traits(compiles, { T; }); enum t2(A...) = 1; template t3() { struct S; alias t3 = t2!(t1!S); } void main() { alias t = t3!(); } --- main.d(8): Error: alias main.t3!().t3 recursive alias declaration main.d(8): Error: template instance t2!(t1!(S)) recursive template expansion main.d(8): Error: alias main.t3!().t3 recursive alias declaration main.d(8): Error: alias main.t3!().t3 recursive alias declaration main.d(8): Error: template instance main.t1!(S) error instantiating main.d(13): instantiated from here: t3!() ---
Comment #1
by k.hara.pg — 2014-11-28T07:25:45Z
https://github.com/D-Programming-Language/dmd/pull/4172
Comment #2
by k.hara.pg — 2014-12-27T07:17:44Z
(In reply to Kenji Hara from comment #1) >
https://github.com/D-Programming-Language/dmd/pull/4172
PR is merged and the issue is fixed.
https://github.com/D-Programming-Language/dmd/commit/5ba2e4e4dc7de523352d0b61143d7c9bd2bd594a
Comment #3
by verylonglogin.reg — 2015-01-31T16:48:18Z
(In reply to Kenji Hara from comment #2) > (In reply to Kenji Hara from comment #1) > >
https://github.com/D-Programming-Language/dmd/pull/4172
> > PR is merged and the issue is fixed. > >
https://github.com/D-Programming-Language/dmd/commit/
> 5ba2e4e4dc7de523352d0b61143d7c9bd2bd594a OK, but unstd.generictuple still doesn't compile. Opened Issue 14090. Sorry it's not that reduced.