Currently D's lazy parameters use call-by-name, i.e. the expression is evaluated whenever referenced. Historically lazy refers to call-by-need evaluation where the result is cached on first use. http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_name We could at least do it for pure expressions that are referenced multiple times.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/17686 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB