https://issues.dlang.org/show_bug.cgi?id=11044
Vladimir Panteleev <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED CC| |dlang-bugzilla@thecybershad | |ow.net Resolution|WONTFIX |--- --- Comment #8 from Vladimir Panteleev <[email protected]> --- (In reply to Walter Bright from comment #5) > I have a dip in the works to deprecate lazy parameters, replacing them with > delegates, precisely because of problems like this. So this particular issue > will likely not get fixed. Looks like this was not an easy decision to make, as the situation is unchanged three years later. I think we should at least do something about bugs like this in the meantime - the compiler should either reject such constructs or not generate bad code for them. Personally I am skeptical that lazy can be removed from the language at this point, because for one thing doing so will break std.exception.enforce, and make it impossible to wrap or implement assert in user code. As far as I can see, we have no choice but to support it as part of the language going forward. --
