On Tuesday, 4 February 2014 at 20:11:05 UTC, Chris Williams wrote:
A person who is using Phobos has no option to switch to classes when they find that they need polymorphic behavior, except by copy-pasting into a new source file and revising the Phobos code outside of Phobos.

I think this touches on why Manu is interested in final by default.

A type should be designed to be polymorphic. So if these were classes they'd be final anyway.

I don't have a good opinion on my own if that is the correct thing, but I certainly don't go around extending random classes.

You paint a fairly bad picture for using structs, but you haven't said anything that wasn't true. It seems to me that the reality is, most of the time you don't need those benefits. With the template constraints one doesn't need to inherit from your base class, they just need to implement the same behaviors.

As for the new programming not being familiar with template constraints. They are heavily used in D, both Phobos and third party libraries, they won't be able to avoid them. I'd say that even if using classes it is still better to write functions using template constraints (but I don't have any examples to back that up).

Reply via email to