www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 10303] New: Constraining interfaces with some std.traits methods causes crash

http://d.puremagic.com/issues/show_bug.cgi?id=10303

           Summary: Constraining interfaces with some std.traits methods
                    causes crash
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: eric makechip.com


--- Comment #0 from Eric <eric makechip.com> 2013-06-08 11:35:05 PDT ---
The following code will cause the compiler to crash:

import std.traits;

interface Identity(V, K) if (hasMember!(V, "k")) {
}

class Foo(K): Identity!(Foo!K, K) {
    K k;
}

void main() {
    new Foo!double;
}

This occurs on both compiler versions, 2.062 and 
v2.063-devel-53aa503.

I should also add that many of the "functions" in std.traits
will cause the compiler to crash when used to constrain an 
interface in this manner.

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