Are there any caveats to unspecified type?
⚓ Rust 📅 2025-05-20 👤 surdeus 👁️ 10fn main() {
let mut v = Vec::new();
let s = String::from("Hello ");
v.push(s);
v[0].push_str("world");
println!("original: {}", s);// comment and compiles
println!("new: {}", v[0]);
}
In this snippet from book, s is moved on push. But I thought this code wouldn't compile because Vec does not have a specified type, and isn't inferred from ::new().
So the compiler first accepts it can be anything, and then fills up that info? Is this a safe pattern to use?
6 posts - 6 participants
🏷️ rust_feed