https://issues.dlang.org/show_bug.cgi?id=24265
Paul Backus <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|diagnostic | --- Comment #5 from Paul Backus <[email protected]> --- Correction, it's not a diagnostic problem--the types are printed differently because they are actually considered different by the compiler. For example, this: --- void test() { int local; ref int explicit() pure nothrow @nogc @safe return; ref int inferred() pure nothrow @nogc @safe => local; static assert(is(typeof(&explicit) == typeof(&inferred))); } --- ...fails with the following output: --- bug.d(7): Error: static assert: `is(int delegate() pure nothrow @nogc ref return @safe == int delegate() pure nothrow @nogc ref @safe)` is false --- The return attribute is not printed because it is genuinely not being inferred, probably due to issue 22977. --
