need to read ownership stuff now.. stack heap inbound
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
// TODO: Fix the compiler error in this function.
|
// TODO: Fix the compiler error in this function.
|
||||||
fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
|
fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
|
||||||
let vec = vec;
|
let mut vec = vec;
|
||||||
|
|
||||||
vec.push(88);
|
vec.push(88);
|
||||||
|
|
||||||
@@ -8,7 +8,9 @@ fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// You can optionally experiment here.
|
let vec0 = vec![22, 44, 66];
|
||||||
|
let vec1 = fill_vec(vec0);
|
||||||
|
println!("{:?}", vec1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// You can optionally experiment here.
|
let vec0 = vec![22, 44, 66];
|
||||||
|
let vec1 = fill_vec(vec0);
|
||||||
|
println!("{:?}", vec1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// You can optionally experiment here.
|
let vec0 = vec![22, 44, 66];
|
||||||
|
let vec1 = fill_vec(vec0);
|
||||||
|
println!("{:?}", vec1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -1,4 +1,25 @@
|
|||||||
fn main() {
|
fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
|
||||||
// DON'T EDIT THIS SOLUTION FILE!
|
let mut vec = vec;
|
||||||
// It will be automatically filled after you finish the exercise.
|
// ^^^ added
|
||||||
|
|
||||||
|
vec.push(88);
|
||||||
|
|
||||||
|
vec
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// You can optionally experiment here.
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn move_semantics1() {
|
||||||
|
let vec0 = vec![22, 44, 66];
|
||||||
|
let vec1 = fill_vec(vec0);
|
||||||
|
// `vec0` can't be accessed anymore because it is moved to `fill_vec`.
|
||||||
|
assert_eq!(vec1, vec![22, 44, 66, 88]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user