1 个不稳定版本
使用旧的 Rust 2015
0.0.1 | 2015年5月10日 |
---|
132 在 #枚举
4KB
50 代码行,不包括注释
rust-extensible
Rust 的可扩展枚举
这是一个基于这个 RfC的插件。
基本上,如果一个枚举被标记为 #[extensible]
,这个插件将防止在缺少通配符的匹配语句中使用它。这允许库作者定义稳定的枚举,同时保留以后扩展它们的灵活性。
#[extensible]
enum Foo {
Bar,
Baz(u8),
Quux
}
pub use Foo::*;
fn main() {
let x = Bar;
let mut out = match x {
Bar => 1u8,
Baz(y) => y,
Quux => 0u8,
// There is no wildcard here, so it will not compile
};
println!("{}", out);
// This is fine
out = match x {
Bar => 1u8,
Baz(y) => y,
_ => 0u8, // THis will compile fine
};
println!("{}", out);
}