Compiling this with -vcg-ast on current master:
module test;
class C {}
T fun(T)(int x) { return 2*cast(T)x; }
auto test()
{
auto x = fun!long(3);
int[] a;
ushort[] b;
assert(a[] != b[]);
Object o = new C;
auto c = cast(C)o;
}
yields
module test;
import object;
class C : Object
{
}
T fun(T)(int x)
{
return 2 * cast(T)x;
}
auto pure nothrow @safe void test()
{
long x = fun(3);
int[] a = null;
ushort[] b = null;
assert(a[] != b[]);
Object o = _d_newclassT();
C c = cast(C)o;
}
...
What's wrong?
- calls to
fun and _d_newclassT are missing the template arguments
__equals lowering not shown for the array comparison
- lowering to
_d_cast not shown
Compiling this with
-vcg-aston current master:yields
What's wrong?
funand_d_newclassTare missing the template arguments__equalslowering not shown for the array comparison_d_castnot shown