防锈的
Rust的可扩展枚举
这是的插件形式。
基本上,如果枚举被标记为#[extensible] ,则此插件将阻止其在缺少通配符的match语句中使用。 这使库作者可以定义稳定的枚举,同时保留以后扩展它们的灵活性。
#[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! ( "
2021-05-23 17:03:57
5KB
Rust
1