kennytm/dmd — comment on commit 10bd8b4074e35270fc5852906324c19f32729a14
File:  line 0
By 9rnsr:

Your fix is not true fix for 6332.
f6332a is instantiated in g6332, so its `type->semantic()` runs inside g6332, then calling `FuncDeclaration::isSafeBypassingInference()` doesn't call `FuncDeclaration::isSafe()` with your fix.
So instantiation of f6332a outside safe function still raises errors.

```d
auto f6332a()() { return 1; }
int f6332b()() { return 1; }

alias f6332b!() X; // Instantiation here breaks compilation

void g6332() pure nothrow @safe
{
auto x = f6332b();
auto y = f6332a();
assert(x == y);
}
```