www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 5878] New: Forward reference in returning superclass from template using is() expression (Breaks std.traits.BaseTypeTuple)

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5878

           Summary: Forward reference in returning superclass from
                    template using is() expression (Breaks
                    std.traits.BaseTypeTuple)
           Product: D
           Version: D1 & D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: kennytm gmail.com
            Blocks: 340



Test case:

------------------------
template J(A) {
    static if (is(A P == super))
        alias P J;
}

alias J!(A) Z;

class X {}
class A : X {}
------------------------
y.d(6): Error: forward reference to '(in X)'
------------------------

The template J is basically std.traits.BaseTypeTuple. Because of this bug, any
use of BaseTypeTuple!A before A is defined (not just X) will result in a
forward-reference bug.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 24 2011
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5878


Kenji Hara <k.hara.pg gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull



D2 pull:
https://github.com/D-Programming-Language/dmd/pull/1859

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 07 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=5878




Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/ae640c4414237fcb3edc14a664aa484a1a284257
fix Issue 5878 - Forward reference in returning superclass from template using
is() expression

https://github.com/D-Programming-Language/dmd/commit/94e608ad923eb33c0c7f8f05cea57fc50e73d169


Issue 5878 - Forward reference in returning superclass from template using is()
expression

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