Debug help - opDispatch - unknown member function
monkyyy
crazymonkyyy at gmail.com
Tue Sep 9 20:08:06 UTC 2025
On Tuesday, 9 September 2025 at 19:17:11 UTC, Steven
Schveighoffer wrote:
>
> In short `opDispatch` only is valid if it compiles. If it
> doesn't compile, it's as if it doesn't exist.
Yours still thinking declaratively, that cant be true. The best
description of its behavior is that it discards errors.
```d
import std;
enum counter=cast(immutable(void)*)[0].ptr;
auto getcount()=>(*(cast(int*)counter));
auto count()=>(*(cast(int*)counter))++;
struct foo{
void opDispatch(string s)(){
enum _=count();
static assert(0);
}
}
void bar(foo){}
void foobar(foo){}
unittest{
foo().bar;
foo().foobar;
getcount.writeln;//2
}
```
More information about the Digitalmars-d-learn
mailing list