[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