Challenge

John Colvin via Digitalmars-d digitalmars-d at puremagic.com
Mon Oct 3 06:50:26 PDT 2016


On Monday, 3 October 2016 at 13:41:13 UTC, Manu wrote:
> I'm finding this rather annoying:
>
> struct S
> {
>   static @property int p() { return 10; }
> }
>
> pragma(msg, typeof(&S.p)); // prints: int function() @property
> pragma(msg, is(typeof(&S.p) == function)); // prints: false
>
> It looks like a function... but I can't identify it as a 
> function!

The problem is that function pointers in "is" expressions don't 
match "function" or "delegate".

static assert (is(void delegate() == delegate)); //passes
static assert (is(void function() == function)); //fails
static assert (is(void function() == delegate)); //fails

Bug report?


More information about the Digitalmars-d mailing list