Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Change vector of structs

fn main() {
    let mut graph = get_graph();
    dbg!(&graph);
    move_graph(&mut graph);
    dbg!(&graph);
}

fn get_graph() -> Vec<Point> {
    vec![
        Point { x: 0, y: 0 },
        Point { x: 10, y: 20 },
        Point { x: 30, y: 40 },
    ]
}

fn move_graph(graph: &mut Vec<Point>) {
    for point in graph {
        point.x += 100;
    }
}

#[derive(Debug)]
#[allow(dead_code)]
struct Point {
    x: i32,
    y: i32,
}
[examples/ownership/change_vector_of_structs.rs:3] &graph = [
    Point {
        x: 0,
        y: 0,
    },
    Point {
        x: 10,
        y: 20,
    },
    Point {
        x: 30,
        y: 40,
    },
]
[examples/ownership/change_vector_of_structs.rs:5] &graph = [
    Point {
        x: 100,
        y: 0,
    },
    Point {
        x: 110,
        y: 20,
    },
    Point {
        x: 130,
        y: 40,
    },
]