[Issue 13776] New: Incorrect "recursive alias declaration" error with `__traits(compiles, ...)`
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Tue Nov 25 07:39:51 PST 2014
https://issues.dlang.org/show_bug.cgi?id=13776
Issue ID: 13776
Summary: Incorrect "recursive alias declaration" error with
`__traits(compiles, ...)`
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Keywords: rejects-valid
Severity: regression
Priority: P1
Component: DMD
Assignee: nobody at puremagic.com
Reporter: verylonglogin.reg at gmail.com
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!()
---
--
More information about the Digitalmars-d-bugs
mailing list