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

Reply via email to