Implicit Constructors

rikki cattermole rikki at cattermole.co.nz
Fri Oct 13 13:23:27 UTC 2017


On 13/10/2017 2:07 PM, Steven Schveighoffer wrote:
> On 10/13/17 9:04 AM, rikki cattermole wrote:
>> Lets just kill it.
>>
>> It's an ugly unexpected piece of syntax.
> 
> It may be used somewhere, and then what is the migration path for those 
> people? I don't see that it's harming anything having it there, most of 
> us didn't even know about it.

1) Warning, then actual removal. It'll still be available for a few 
releases for people to update their code
2) Fairly simple replacement: new Foo(0)


> It's also not necessary to remove the feature in order to build a 
> library that does similar things, and the syntax isn't needed elsewhere.
> 
> It is bizarre, though, that it works only for classes and builtins, and 
> not for structs.
> 
> I have experienced with Swift the team killing "ugly" features, and it's 
> painful.

And yet I expected the 0 there to be null. It would make a whole lot 
more sense then allocating a new instance which is considerably more 
expensive operation and not even used anywhere else!



More information about the Digitalmars-d mailing list