Re: isCallable and templates

2016-06-11 Thread ArturG via Digitalmars-d-learn
On Friday, 10 June 2016 at 17:32:03 UTC, Steven Schveighoffer 
wrote:

Consider:

import std.traits;
class Foo
{
   void bar() {}
   void baz()() {}
}

This works:

static assert(isCallable!(Foo.bar));

This does not:

static assert(isCallable!(Foo.baz));

However, clearly I can call baz due to IFTI (with the 
equivalent syntax, someFoo.baz() or someFoo.baz). Is there a 
way to fix this?


-Steve


i guess thats the same reason that

isCallable!(unaryFun!someString) -> false

if not, then it probably would also be usefull if it would be 
evaluated to true.


isCallable and templates

2016-06-10 Thread Steven Schveighoffer via Digitalmars-d-learn

Consider:

import std.traits;
class Foo
{
   void bar() {}
   void baz()() {}
}

This works:

static assert(isCallable!(Foo.bar));

This does not:

static assert(isCallable!(Foo.baz));

However, clearly I can call baz due to IFTI (with the equivalent syntax, 
someFoo.baz() or someFoo.baz). Is there a way to fix this?


-Steve