> Now this might seem like a hack, but it really is not. Most languages would either ask the programmers to explicitly call free() or implicitly call a magic runtime.deallocate() within a complex garbage collector.
The compiler actually implicitly adds drop glue to all dropped variables!
> Otherwise it's impossible to answer questions like: "If the Lagrangian formulation put space and time on equal footing, and if the Hamiltonian formulation gives a preferred role to time (generating time evolution), could we give a similarly preferred role to space?" "More generally, why isn't there a third or forth major formulation of mechanics?"
Hey, can you answer those questions? Or point to the right answers. Thanks!
This stuff feels like a proof of concept that isn't really integrated to the rest of the language (Kinda like OCaml's OO). For example, it's unfortunate that Type, UniqueType and BorrowedType are different kinds (in Rust, they are the same kind; stuff that isn't "unique" just implement Copy)
Rust's advantage is that its borrow system, with reborrowing rules and such, feels much more ergonomic.
Most importantly, UB in Rust should only arise if you're writing unsafe code (barring compiler bugs). Typically, most Rust code is safe. This is a huge win.
> Same is true for DE's I think. Many of the things that differentiates DE's could probably be offered as configuration within one DE, with less workload but no or very little reduction in diversity.
Perhaps if this DE is KDE. Gnome devs aren't interested in a configurable DE.