On Friday, 24 January 2025 at 19:12:59 UTC, monkyyy wrote:
On Friday, 24 January 2025 at 10:50:15 UTC, Dom DiSc wrote:

do they have some other, more specific property?

complete solutions: probably not, partial solutions well....

```d
import std;
bool isctfe(alias i)(){
        bool _isctfe(alias i)(int i2){
                i2=i;
                return __ctfe;
        }
        static if(__traits(compiles,(){enum b=_isctfe!(i)(i);}())){
                return true;
        } else {
                return false;
        }
}
unittest{
        int i;
        isctfe!(i).writeln;
        isctfe!(3).writeln;
}

void foo(alias i)(float f){
        static if(isctfe!i){
                "i is ct ".write;
        } else {
                "i isnt ct ".write;
        }
        writeln("f is ",f);
}
unittest{
        int i;
        foo!(3)(13.37);
        foo!(i)(4.20);
}
```

Wow.
Thanks.

Reply via email to