auto ref is on the docket
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Sun Jun 21 23:11:07 PDT 2015
On Monday, 22 June 2015 at 04:11:41 UTC, Andrei Alexandrescu
wrote:
> Walter and I discussed what auto ref for templates should look
> like and reached the conclusion that an approach based on
> lowering would be best. I added a proposed lowering to
> https://github.com/D-Programming-Language/dmd/pull/4717.
So, you're basically suggesting that have an auto ref parameter
on a non-templated function basically does the combinatorial
explosion of function definitions that you get with templated
functions except that all of the combinations are instantiated
(the one difference then being that all of the overloads except
the one with all refs would just be wrappers calling the one with
all refs)? That doesn't sound particularly desirable me. It's
better than writing all of those wrappers by hand, but that's
still likely to be a fair bit of code bloat if you're using auto
ref parameters much - and if the folks coming from C++ who have
been begging for this get it, they _will_ start using it all over
the place.
I would have thought that we'd define this such that the compiler
introduced a variable restricted to the scope of the statement
for each rvalue passed as an auto ref parameter rather than
introducing function overloads. No, that's not quite as nice a
lowering, but it would avoid a lot of extraneous function
definitions.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list