On Saturday, 26 March 2016 at 08:31:41 UTC, Jonathan M Davis wrote:
And while scoped may make sense in rare cases, pretty much by definition, if you're putting an object on the heap, polymorphism is not involved, and therefore it's completely unnecessary to use a class.

That I disagree with too. Putting class on stack simply means that current scope will outlive the usage of class instance - it has nothing to do with polymorphism. It is one of many memory optimizations.

To explain a bit more, what I would consider convenient is to limit struct/class distinction to polymorphism exclusively, with not extra implications. So that you can still can do `MyClass on_stack;` (any `MyClass` is treated as type of object) but passing it to function wouldn't compile unless `ref` is also used.

Reply via email to