Thread overview
[Issue 17487] CTFE should allow casting delegate function attributes
Jun 09, 2017
Eyal
Dec 17, 2022
Iain Buclaw
June 09, 2017
https://issues.dlang.org/show_bug.cgi?id=17487

Eyal <eyal@weka.io> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://issues.dlang.org/sh
                   |                            |ow_bug.cgi?id=17486

--- Comment #1 from Eyal <eyal@weka.io> ---
I have a specific use-case:

assertOp!"<="(x, y);

I want x/y to be lazy so I can disable the assert at runtime (and avoid costs of computing x,y). I also want any exceptions computing x,y to be caught by assertOp.

I also need assert functions (including this one) to be @nogc but this is not
directly supported due to (https://issues.dlang.org/show_bug.cgi?id=17486).

So I need to use a delegate cast to achieve the combination of @nogc and lazy params. This rules out any function that indirectly uses assertOp from ctfe, which is sad.

if(__ctfe) could skip the asserts altogether, but that loses a lot too.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=17487

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P4

--
December 13
https://issues.dlang.org/show_bug.cgi?id=17487

--- Comment #2 from dlangBugzillaToGithub <robert.schadek@posteo.de> ---
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/dmd/issues/19260

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB

--