return val if

Dennis dkorpel at
Sun Mar 22 19:04:03 UTC 2020

On Sunday, 22 March 2020 at 18:48:32 UTC, Abby wrote:
> Is there a way to create a template that would do the same is 
> glib
> g_return_val_if_fail() 
> (

I'm not famililar with glib, but the description:

> If expr evaluates to FALSE, the current function should be 
> considered to have undefined behaviour (a programmer error).

Sounds a lot like:


> I was hoping something like this would work
> template returnValIfFail(alias expr, alias val)
> {
>     if(expr) return val;
> }

It would have to be a string mixin, you can't inject a return 
statement otherwise.
The thing is, why do you want that? It seems shorter to just 
write it out:

if(expr) return val;
debug if(expr) return val;
returnValIfFail!(expr, val);

More information about the Digitalmars-d-learn mailing list