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!