On 06/30/13 12:36, David wrote: > struct Bla { > static @property > Bla opDispatch(string s)() const { > pragma(msg, s); > return Bla(); > } > } > > void main() { > Bla.abc; > } > > --- > > abc > /d675/f256.d(10): Error: no property 'abc' for type 'Bla' > /d675/f256.d(10): Error: Bla is not an expression > > --- > > I guess static opDispatch does not exist? Any reasons why it doesn't > exist or is it just a bug? It looks like a bug, since the pragma prints. > Returning nothing, doesn't change anything btw.
Try removing the 'const' - static methods have no 'this'. Error reporting for optional templated methods that exist, but fail to instantiate, can be very misleading; calling such methods explicitly sometimes helps to identify the problem. artur