u/Ro5bertin r/ProgrammingLanguages • Recommends
On “Benefits of linear types over affine types?”
I think you should view implicit drops in Rust as a usage of the value, so Rust really has linearity in spirit. I could be wrong about this, but I think the real reason it's said that Rust has affinity and not linearity is because it's possible to leak values in safe Rust. (I'm not an expert on Rust, so I don't know the details, but I've heard this is true.) Thus, most of the advantages of affinity that you list are actually advantages of linearity.
Linear types can coexist with other types, and a number of type systems of this nature have been designed, but it's an area of active research. A recent interesting example is Adjoint Natural Deduction, which Frank Pfenning recently presented on…