Thread overview | ||||||
---|---|---|---|---|---|---|
|
June 30, 2013 static opDispatch | ||||
---|---|---|---|---|
| ||||
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. |
June 30, 2013 Re: static opDispatch | ||||
---|---|---|---|---|
| ||||
Posted in reply to David | 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
|
June 30, 2013 Re: static opDispatch | ||||
---|---|---|---|---|
| ||||
Posted in reply to Artur Skawina | > 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
>
Oh wow, so easy ... Thanks I tottally did not see that const.
|
June 30, 2013 Re: static opDispatch | ||||
---|---|---|---|---|
| ||||
Posted in reply to Artur Skawina | Artur Skawina: > 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. http://d.puremagic.com/issues/show_bug.cgi?id=10511 Bye, bearophile |
Copyright © 1999-2021 by the D Language Foundation