Rust updates

Cherrypicking because `String` has already been fixed.

Closes #164 and #165