www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 10705] New: recursive alias declaration


           Summary: recursive alias declaration
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: rswhite4 googlemail.com

--- Comment #0 from rswhite4 googlemail.com 2013-07-23 11:11:12 PDT ---
import std.stdio;

struct Rect(T) {
    bool intersects(ref const Rect!T rhs, ShortRect* overlap = null) 
        return false;

alias FloatRect = Rect!float;
alias ShortRect = Rect!short;

void main() {


tpl_bug.d(11): Error: alias tpl_bug.ShortRect recursive alias 
tpl_bug.d(11): Error: template instance tpl_bug.Rect!(short) 
error instantiating
tpl_bug.d(10): Error: template instance tpl_bug.Rect!(float) 
error instantiating

dmd 2.063.2, Windows

Seems the Compiler is a bit confused. If I change 'ShortRect' to 'Rect!short'
or 'Rect!T' everything works fine.

Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 23 2013