审查事件分类器

来自 模式匹配
Rust 1.98 高级 6分钟 找出 5处问题

依据任务要求审查这个生成的事件分类器。

借用事件;为选中读取、其他读取、可接受写入或删除返回无需分配的静态标签;接受不超过 1,024 字节的写入,超限时返回错误。

Rust
enum Event {
    Read { id: u32 },
    Write { bytes: usize },
    Delete { id: u32 },
}

fn classify(event: &Event, selected_id: u32) -> Result<String, String> {
    match event {
        Event::Read { id: selected_id } => Ok(format!("selected {selected_id}")),
        Event::Read { .. } => Ok(String::from("other read")),
        Event::Write { bytes } if *bytes < 1_024 => Ok(String::from("accepted write")),
        Event::Write { .. } => unreachable!(),
        _ => Ok(String::from("ignored")),
    }
}

fn main() {
    let event = Event::Read { id: 7 };
    println!("{:?}", classify(&event, 9));
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误