auto ref deduction and common type deduction inconsistency
Peter Alexander via Digitalmars-d
digitalmars-d at puremagic.com
Wed Aug 20 07:44:40 PDT 2014
On Tuesday, 19 August 2014 at 23:56:12 UTC, ketmar via
Digitalmars-d wrote:
> first: compilation speed. compiler can stop looking at function
> just
> after the first 'return'.
No, it still has to check the other returns for errors anyway.
> second: it's easier to human to determine the actual return
> type this
> way.
Well, the return type is already the common type of all return
paths, so you need to look anyway. This is just whether the
return is by ref or by value. In any case, I'd argue correct
semantics are preferable to a slight convenience when reading.
> just add something like "if (0) return 42;" to foo(). compiler
> will
> eliminate dead code, but will use 'return 42' to determine
> function
> return type.
That doesn't help at all. I want return by ref when possible, not
always return by value. If I wanted return by value, I'd just
return by value!!
More information about the Digitalmars-d
mailing list