1 interface ITest 2 { 3 int foo(); 4 bar(int k)5 final void bar(int k)() { assert(foo() == k); } 6 } 7 8 class Test : ITest 9 { foo()10 override int foo() { return 12; } 11 } 12 main()13 void main() 14 { 15 auto test = new Test; 16 test.bar!12(); 17 } 18