{"push_id":812608297,"size":1,"distinct_size":1,"ref":"refs/heads/argprefixD","head":"e5b23d161798c817d27da1469848a75ef1241dd4","before":"805b35d0858d0cb880a538e7c7b53eb22b9b13df","commits":[{"sha":"e5b23d161798c817d27da1469848a75ef1241dd4","author":{"email":"691aa48fce2503f2e8548fe005a60ece4c7c6f1a@nowhere.com","name":"Martin"},"message":"Strive for a sane evaluation order of arguments when using argprefix\n\nIf argprefix is required, make sure it covers the very first argument up\nto and including the last potentially throwing argument. Only evaluate\nsubsequent arguments directly.\nThis also includes ref and out params, but not lazy ones.\n\nNote that previously, `appendToPrefix` would be set by the first arg with\ndtor (if a subsequent arg may throw), and only reset when processing the\nlast throwing arg (i == lastthrow).\nSo all non-ref/out/lazy args inbetween would be added to `eprefix`,\nleading to this staggering evaluation order:\n\n  [firstDtor..lastThrow (except for ref/out/lazy)]\n  [0..firstDtor]\n  [firstDtor..lastThrow (only ref/out/lazy)]\n  [lastThrow..$]\n\nAlso prepare for potential right-to-left arguments evaluation order\n(array ops).","distinct":true,"url":"https://api.github.com/repos/kinke/dmd/commits/e5b23d161798c817d27da1469848a75ef1241dd4"}]}