Access derived type in baseclass static function template
    Timoses via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Wed Aug  2 05:07:46 PDT 2017
    
    
  
Hey,
wondering whether it's possible to access the derived type from a 
function template in the base class or interface.
this T does not seem to be working, I guess because it's a static 
function and this does not exists?!
interface I
{
     static void test(this T)()
     {
         writeln(T.type.stringof);
     }
}
abstract class A
{
     static void test(this T)()
     {
         writeln(T.type.stringof);
     }
}
class B : A
{
     alias type = uint;
}
class C : I {
     alias type = int;
}
void main() {
	B.test();
	C.test();
}
Throws:
Error: template app.A.test cannot deduce function from argument 
types !()(), candidates are:
         app.A.test(this T)()
Error: template app.I.test cannot deduce function from argument 
types !()(), candidates are:
         app.I.test(this T)()
Any way I could accomplish this?
    
    
More information about the Digitalmars-d-learn
mailing list