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.

Reply via email to