enum E {
A(isize),
B(isize)
}
fn get_A() -> E {
E::A(1)
}
fn main() {
let E::A(a) = get_A(); // refutable pattern in local binding: `B(_)` not covered
}
怎么让编译器知道 get_A 就只会返回 E::A。
如果不行,能不能把他的返回值强制断言成 E::A。
如果确实不行,能不能提供一下别的建议。
谢谢
enum E {
A(isize),
B(isize)
}
fn get_A() -> E {
E::A(1)
}
fn main() {
let E::A(a) = get_A(); // refutable pattern in local binding: `B(_)` not covered
}
怎么让编译器知道 get_A 就只会返回 E::A。
如果不行,能不能把他的返回值强制断言成 E::A。
如果确实不行,能不能提供一下别的建议。
谢谢
7 回答5.3k 阅读
1 回答3.3k 阅读
3 回答4.4k 阅读
2 回答828 阅读
1 回答872 阅读
请尝试通过 newtype 模式 来构建: