Update to the latest Rust

Too many changes - didn't manage to cover them all yet :(