generic function instance without call
vit
vit at vit.vit
Wed Apr 27 17:22:14 UTC 2022
On Wednesday, 27 April 2022 at 16:03:32 UTC, user1234 wrote:
> On Wednesday, 27 April 2022 at 15:23:26 UTC, vit wrote:
>> Hi, is it possible to get address of generic function instance
>> for specified arguments without calling the function?
>>
>> Example:
>>
>>
>> ```d
>>
>> auto foo(alias fn, Args...)(auto ref Args args){
>> ///return function/delegate type of `fn` for arguments
>> `args`
>> }
>>
>> void main(){
>>
>> long x;
>>
>> auto fn = foo!((a, b) => true)(new int(42), x);
>>
>> static assert(is(typeof(fn) == bool function(int*, scope
>> ref long)@safe pure nothrow @nogc ));
>> }
>>
>> ```
>
> yeah sure; declare an alias that (fully) specialize the generic
> func and take the address using the alias Identifier.
This work for types but not for attributes like `scope`, `return`
and `auto ref`.
More information about the Digitalmars-d-learn
mailing list