Updated source code up to Rust's master