The only problem there is 2.065 is in such a confused state that I'd prefer to just abandon it and go with 2.066, meaning this needs to be either fixed or reverted.
Of course, I'd prefer fixing it!
Another reduced test case.
// test.d
Frop!(int) frop;
mixin template baz() {
public void bar() {}
}
mixin baz;
class Foo(T) {
static if(! __traits(isVirtualMethod, zoo)) {}
static void zoo() {
bar();
}
}
class Frop(T): Foo!T {}
void main() {
frop.zoo();
}
Comment #8 by puneet — 2014-01-15T06:45:01Z
Yet another reduced testcase. This results in breaking my code at runtime since the constructor is given a skip with GitHub HEAD!
class Bar {}
class Foo(T=Bar) {
static if(! __traits(isVirtualMethod, foo)) {}
alias Foo!(T) this_type;
this() {
import std.stdio;
writeln("Call to constructor -- GitHub HEAD skips this");
}
static public this_type foo() {
return new this_type();
}
}
void main() {
alias Foo!Bar FooBar;
FooBar.foo();
}