import std.stdio;
class ClassA { void fun(T)(T a) { writeln("ClassA"); } } class ClassB: ClassA { void fun(uint a) { writeln("ClassB"); } } void main() { auto cb = new ClassB(); ClassA ca = cb; uint a = 42; ca.fun(a); // calls ClassA.fun cb.fun(a); // calls ClassB.fun } Ali