www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 14923] New: REG ICE: Assertion failed: (tret->ty != Tvoid),

https://issues.dlang.org/show_bug.cgi?id=14923

          Issue ID: 14923
           Summary: REG ICE: Assertion failed: (tret->ty != Tvoid),
                    function semantic3, file func.c, line 1736.
           Product: D
           Version: D2
          Hardware: x86
                OS: All
            Status: NEW
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: timothee.cour2 gmail.com

regression:
dmd_068 -c -o- main.d
Assertion failed: (tret->ty != Tvoid), function semantic3, file func.c, line
1736.

worked in dmd_066 (no ICE)

----
auto bar(alias fun)(){
  size_t counter;
  scope(exit)    counter++;

  Object a2;
  if(auto ai=cast(A)a2) return fun(ai);
  if(auto ai=cast(B)a2) return fun(ai);
}

void Parse(C a) {
  bar!(b=>Parse(b))();
}

class A{
}

class C{
}

class B:C{
}
----

--
Aug 14 2015