https://issues.dlang.org/show_bug.cgi?id=20596
--- Comment #3 from Walter Bright <[email protected]> --- Here's the problem. There were two PRs: https://github.com/dlang/dmd/pull/8504 which extended checking of addressing of delegates to constructor calls with the line in expressionsem.d: if (global.params.vsafe && checkConstructorEscape(sc, cx, false)) return setError(); which winds up calling the line in escape.d: if (va && va.isScope() && fd.tookAddressOf && global.params.vsafe) --fd.tookAddressOf; added by PR: https://github.com/dlang/dmd/pull/7981 which when combined produces the regression. The regression goes away when the two checks for global.params.vsafe (i.e. dip1000) are removed. The message did not appear before because constructor calls were not checked for escaping arguments. --
