On 8/22/22 8:04 AM, Paul Backus wrote:
On Monday, 22 August 2022 at 11:24:59 UTC, Andrey Zherikov wrote:
On Monday, 22 August 2022 at 06:01:11 UTC, JG wrote:
Why not just change to:
alias type = typeof(U().func!0());
This is user's code and `U().func!0` is legit syntax.
Workaround: wrap it in a lambda.
```d
import std.traits;
alias type = ReturnType!(() => U().func!0);
```
Or without having to import phobos:
```d
alias type = typeof((() => U().func!0)());
```
I actually created a small utility for this in my code:
```d
auto ref eval(T)(auto ref T expr) { return expr; }
```
so now I can just do:
```d
alias type = typeof(eval(U().func!0)));
```
-Steve