mirror of https://github.com/rust-lang/rustlings
Merge pull request #1660 from rust-lang/fix/move-semantics-tests
fix: refactor move semantics 1-4 into testspull/1587/head^2
commit
abc3013096
@ -1,32 +1,26 @@
|
||||
// move_semantics2.rs
|
||||
//
|
||||
// Expected output:
|
||||
// vec0 has length 3, with contents `[22, 44, 66]`
|
||||
// vec1 has length 4, with contents `[22, 44, 66, 88]`
|
||||
// Make the test pass by finding a way to keep both Vecs separate!
|
||||
//
|
||||
// Execute `rustlings hint move_semantics2` or use the `hint` watch subcommand
|
||||
// for a hint.
|
||||
|
||||
// I AM NOT DONE
|
||||
|
||||
#[test]
|
||||
fn main() {
|
||||
let vec0 = Vec::new();
|
||||
let vec0 = vec![22, 44, 66];
|
||||
|
||||
let mut vec1 = fill_vec(vec0);
|
||||
|
||||
println!("{} has length {}, with contents: `{:?}`", "vec0", vec0.len(), vec0);
|
||||
|
||||
vec1.push(88);
|
||||
|
||||
println!("{} has length {}, with contents `{:?}`", "vec1", vec1.len(), vec1);
|
||||
assert_eq!(vec0, vec![22, 44, 66]);
|
||||
assert_eq!(vec1, vec![22, 44, 66, 88]);
|
||||
}
|
||||
|
||||
fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
|
||||
let mut vec = vec;
|
||||
|
||||
vec.push(22);
|
||||
vec.push(44);
|
||||
vec.push(66);
|
||||
vec.push(88);
|
||||
|
||||
vec
|
||||
}
|
||||
|
Loading…
Reference in New Issue