When there's a default initializer, I think the Identifier is parsed as a type:
struct X {}
alias fp = (X = X.init) {
pragma(msg, is(X)); return 0; }; // true
enum e = fp(X());
See Issue 12814.
Comment #2 by qs.il.paperinik — 2024-09-26T17:22:10Z
I’ll try to fix this.
Comment #3 by dlang-bot — 2024-09-26T17:32:32Z
@Bolpat created dlang/dmd pull request #16889 "Fix Bugzilla Issue 24784" fixing this issue:
- Fix Bugzilla Issue 24784
https://github.com/dlang/dmd/pull/16889
Comment #4 by robert.schadek — 2024-12-13T19:37:36Z