digitalmars.D - Re: LazyInterface (simplified Boost.Interfaces)
- kenji hara <k.hara.pg gmail.com> Sep 21 2010
There is no problem if it is only static opDispatch or non-static one. But D does not allow to override theirs together. We cannot compile this: class A{ int f(){return 10;} static int f(){return 20;} } void main(){ auto a = new A(); assert(a.f() == 10); assert(A.f() == 20); } Thanks. bearophile wrote:But static opDispatch works: struct Foo { static void opDispatch(string name, Args...)(Args args) { static assert(name == "hello"); } } void main() { Foo.hello(10, 20); } So if you have found a bug you may add a minimized case in Bugzilla.
Sep 21 2010