On Wednesday, 30 August 2017 at 20:47:12 UTC, EntangledQuanta
wrote:
interface I
{
void Go(T)(S!T s);
static final I New()
{
return new C();
}
}
abstract class A : I
{
}
class C : A
{
void Go(T)(S!T s)
{
}
}
This is a blocker for me! Can someone open a ticket?
Judging by the length of the thread that I did not read, the
real problem was not spotted, otherwise, it would be shorter. The
problem is called "virtual method in the interface" anti-pattern.
Just never do that, and life will be easier. In this case, I
recommend to move Go to A and make it just dispatcher for
specialized private non-templated virtual functions. You don't
need all this mess with string templates for it.