'Auto can only be used for template function arguments' what?

Jonathan M Davis jmdavisProg at gmx.com
Wed Jun 27 08:39:01 PDT 2012


On Wednesday, June 27, 2012 16:39:12 Artur Skawina wrote:
> On 06/27/12 07:27, kenji hara wrote:
> > 2012/6/27 Jonathan M Davis <jmdavisProg at gmx.com>:
> >> On Wednesday, June 27, 2012 07:02:28 Mehrdad wrote:
> >>> On Wednesday, 27 June 2012 at 04:26:08 UTC, Jonathan M Davis
> >>> 
> >>> wrote:
> >>>> And how would that work? auto ref duplicates the function. If
> >>>> you pass it an lvalue, then it generates a ref version.
> >>> 
> >>> Two solutions:
> >>> 
> >>> - Turn 'auto ref' into 'ref', but simply have the compiler
> >>> generate a copy for the caller if he wants to pass by value?
> >> 
> >> That at least sounds like it would work. Walter may have a reason why it
> >> doesn't though, since he's the one that said that he didn't think that it
> >> was possible. Maybe he just didn't think of it, or maybe it causes some
> >> other problem that I can't think of.
> > 
> > After considering about 'auto ref', I was concluded that is an
> > inconsistency of current language spec and we cannot fix it correctly.
> > 
> > http://d.puremagic.com/issues/show_bug.cgi?id=8204
> > 
> > Therefore, I have created a thread to suggest new 'auto ref' recently.
> > http://forum.dlang.org/thread/CAFDvkcvf6G8Mc01Tds6ydXqCZbfp1q-a-oeFVk6BGEt
> > wCiUAqg at mail.gmail.com
> Please do not remove useful functionality in order to fix unrelated
> problems. "auto ref" isn't perfect, but it works well for some cases.
> A new "override ref" could work like you describe.

What functionality are you talking about? What would you lose?

- Jonathan M Davis


More information about the Digitalmars-d mailing list