Cannot check function address
frame
frame86 at live.com
Wed May 25 05:40:20 UTC 2022
On Wednesday, 25 May 2022 at 04:34:43 UTC, Steven Schveighoffer
wrote:
> Well, you can possibly work around the type system, but I don't
> know what the compiler thinks you have there.
This really bothers me and I put this test cases:
```d
static if (isSomeFunction!fun) pragma(msg,...)
static if (isFunctionPointer!fun) pragma(msg,...)
static if (isCallable!fun) pragma(msg,...)
```
It output mostly true except in one case where the compiler
really sees a function, not a pointer.
Thanks, now the difference is clear to me, Adam was right. I
guess I have forgotten some version-switch somewhere and it tries
to compile none-suitable code which will be never used in runtime
at this point.
This would have been more visible if the compiler just says:
"function cannot be compared against null, only function
pointer". That function vs function pointer is too subtle.
More information about the Digitalmars-d-learn
mailing list