The motivation is stuff like this: zip(iota(10), iota(10, 20)) .map!(t => Tuple!(int, "a", int, "b)(t)) .map!(t => with(t) a + b); which, short of having some proper tuple unpacking syntax (that would be so, so good), is nicer than the current .map!((t) { with(t) return a + b; }); that might seem like a small change, but I'm having a hard time selling D and functional programming to scientists with all the heavyweight syntax, they are spoiled by the inefficient but neat-looking numpy model.
@maxhaton created dlang/dmd pull request #13776 "Fix Issue 15749 - Implement with expressions" fixing this issue: - Fix Issue 15749 - Implement with expressions https://github.com/dlang/dmd/pull/13776
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/19104 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB