DMD 2.057: inout(Object) bar(inout(Object) y = null){return y;} static assert(is(typeof(bar())==typeof(bar(null)))); Error: static assert (is(inout(Object) == Object)) is false the code should compile.
DMD 2.070.2 -------------------- inout(int) bar(inout(int) y = 0){return y;} pragma(msg, typeof(bar())); pragma(msg, typeof(bar(0))); -------------------- Output: -------------------- inout(int) int -------------------- `inout` qualifier somehow escapes the context of `bar` function.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18403 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB