Checking @nogc-ness of an Allocator.allocate()
Per Nordlöw
per.nordlow at gmail.com
Thu Jan 11 12:32:54 UTC 2018
On Thursday, 11 January 2018 at 12:24:36 UTC, Nordlöw wrote:
> How do I check whether an aggregate member function (call for a
> specific argument) is @nogc or not?
>
> I want to check whether
>
> Allocator.allocate(1)
>
> (for a any Allocator) is @nogc or not?
>
> Is
>
> https://dlang.org/phobos/std_traits.html#hasFunctionAttributes
>
> the way to do it?
Is this an ok implementation:
enum bool isNogc(alias fun) = (isCallable!fun &&
(functionAttributes!fun &
FunctionAttribute.nogc));
@safe pure nothrow @nogc unittest
{
static int foo(int x) @nogc pure nothrow;
static int goo(int x) pure nothrow;
static assert(isNogc!foo);
static assert(!isNogc!goo);
}
More information about the Digitalmars-d-learn
mailing list