On Friday, 30 August 2013 at 21:11:32 UTC, Andrei Alexandrescu wrote:

* typedef: it was so ill defined, bringing it any closer to sanity would've broken someone's code.

I haven't heard about any specific troubles with typedef which are reason to depreciate the feature. In addition to typedef some other features are also experiencing troubles (shared, ref, properties, invariants,..) yet they are not deprecated.

* delete: a festering dung of unsafety straight in the middle of the language.

It was useful to delete class objects at the time where programmer knew that he can delete safely to mitigate the problem of dangling references upon class finalization (by invoking dtor when objects are alive). Right now there is no way to do that. By the way, currently dmd accepts putting @safe attribute on class dtor definitions which access GC objects - this is a hole in @safety (accessing such elements is not a sufficient reason to be hole in safity, but not reseting pointers to null is).

If there's enough argument that the functionality of delete is actually desirable we can always add a function for that.

Probably yes.

* scope: cute and dangerous in equal proportions - great for a movie character, terrible for language design.


Andrei

I cannot remember any feature implemented in phobos that was better then built-in language construct, including scope. Hasn't C++ followed the same policy and at the end it was considered as mistake? At least D has many built-in features comparing to C++ and this is advertized as an advantage.

Reply via email to