Good article but it somehow suggests that because there is no garbage collection you would need to fight the borrow checker. This is not fully true because you could put your data in a Box (so that it is stored on heap instead of the function's stack) and you can wrap it in a mutex with reference counting (Arc+Mutex or Rc+RefCell), which roughly gives you what garbage collection does. Also cloning can avoid solving t…
It doesn't give the productivity that GC allows for writing GUI code and UI designers. Imagine having JetPack Composer, SwiftUI, Qt designer, or WPF/UWP Blend in Rust.
Rust could totally do the same thing, and you could probably make it way easier to use than the mess that is Qt.