Efficient single inheritance

Efficient single inheritance via virtual structs and unification and nesting of structs and enums.
@bstrie Swift may be fifth-most-popular because of strong backing by Apple and because it is targeted on different kind of applications than Rust is. Rust is low-level language and user should have maximum control on everything. Also user should pay only for features he needs. Different behaviour for structs and classes is IMO a bad feature that Swift has got and definitely something what should not be copied to Rust.

Why?
1) It dictates the user of the a type how it must be created. You cannot have Swift's class by-value on a stack, ever. You pay what you do not need. Personally, I would be very disappointed to find out that a Rust library declares a simple type as a struct and therefore I am forced to allocate it on heap.

2) It is not clear when the parameter is passed by value or ref by looking at a function call or a function definition. It can be source of naughty bugs where you alter only local copy by accident. However, there is probably no way how would Rust share this weakness with Swift as structs would be still explicitly boxed.

3) Rust has polymorphism system orthogonal to types, yet this proposal ties polymorphism to type hierarchy. A struct would be suited to one particular polymorphic data-structure but not to any other. You have to build type-hierarchy for every data-structure from the ground.

The proposal https://github.com/rust-lang/rfcs/pull/9 it is strictly superior solution.
1) You can create any struct or enum on the stack, heap or turn it into fat object if you want to.
3) You can turn even int or float to a fat object, and you can do that for different traits on different places. You can mix completely independent types in a polymorphic collection. You have the freedom to do that anywhere and yet you have the power to do that for every type. And it completely independent from inheritance which you may or may not use.