Earlier quoted context omitted.
>the borrowing/ownership semantics of rust (at the time I looked at it) felt needlessly over complicated. Taking a wild guess here, but it sounds like you maybe referring to issues addressed by Non-Lexical Lifetimes (NLL)? Reference: https://github.com/rust-lang/rfcs/blob/master/text/2094-nll.... NLL are a part of Rust 2018 Edition. Three complementary books are the best resources: - The Official book: https://doc.ru…
NLL only modes aren't available on stable Rust atm. What edition 2018 has right now is migrate mode NLL. In order to fully enjoy NLL, you'll have to use Rust nightly and do #![feature(nll)] or -Z borrowck=mir -Z two-phase-borrows , both flags being independent of the edition you're using. Edit: removed outdated behaviour of migration mode.
The transition mode is for Rust 2015 code.