Solving a Rust enum pattern matching exercise by replacing placeholder comments with proper match patterns for three different enum variants

enum Point {
    Nothing,
    TuplePoint(i32, i32),
    StructPoint {
        x: i32,
        y: i32
    }
}
fn get_point(n: u8) -> Point {
    match n {
        1 => Point::TuplePoint(-1, 1),
        2 => Point::StructPoint {
            x: -1,
            y: 1
        },
        _ => Point::Nothing
    }
}
fn main() {
    let p = get_point(2);
    match p {
        Point::Nothing => println!("no point"),
        Point::TuplePoint(x, y) => println!("x is {} and y is {}", x, y),
        Point::StructPoint { x, y } => println!("x is {} and y is {}", x, y),
    }
}

Hi, welcome to the forum. Is there any question you wanted to ask? Maybe you hit the post button prematurely? (Sorry for the delay, our spam filter can hold copy-pasted first posts, and it looks like you didn’t get any further than pasting your code example in the editor.)

Also, I fixed the formatting for you :wink:

1 Like