Allow Explicit Pointer for Auto Declaration

Steven Schveighoffer via Digitalmars-d digitalmars-d at puremagic.com
Thu Sep 29 17:05:45 PDT 2016


On 9/29/16 7:42 PM, Jacob wrote:
> Was wondering if this feature could be implemented, right now auto needs
> to be written like this:
>
>     auto pValue = someFunctionReturnsRef(); // forgot '&', still valid
>                                             // makes a copy when we
> didn't want one
>
> The feature would make the code look like this:
>
>     auto* pValue = someFunctionReturnsRef(); // error expecting pointer
>
> We don't accidentally make a copy when we wanted a pointer. C++ has a
> similar semantic for it's auto.

Hm... I'm not familiar with C++ auto, but C++ does have local 
references. D does not.

I'm not sure if you are asking for the syntax specified, or asking for 
the original line to be treated like the specified syntax. The latter 
absolutely is not going to happen, because that breaks valid code.

Even if we added:

auto* pValue = expr;

I don't see why this is more advantageous than:

auto pValue = &expr;

-Steve


More information about the Digitalmars-d mailing list