gpt4 book ai didi

rust - 非穷举匹配 i32 即使它是

转载 作者:行者123 更新时间:2023-12-04 00:49:14 25 4
gpt4 key购买 nike

Rust 提示那场比赛是非详尽的。这是 Rust 的限制还是我错过了什么?

fn main() {
let x = 10;
match x {
1 => {},
y if y < 1 => {},
y if y > 1 => {}
}
}

最佳答案

Rust 在验证穷尽性时不会处理 if 表达式。鉴于此,您需要添加一个您标记为无法访问的包罗万象的匹配项,例如

fn main() {
let x = 10;
match x {
1 => {},
y if y < 1 => {},
y if y > 1 => {}
_ => unreachable!()
}
}

或者根据您的逻辑,更好的选择是根本不包含最后一个 if,例如

fn main() {
let x = 10;
match x {
1 => {},
y if y < 1 => {},
y => {}
}
}

因为它只会到达最后一个匹配,如果前面的匹配失败的话。

相关:

关于rust - 非穷举匹配 i32 即使它是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67855118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com