如何从以下代码中删除unused_variables警告?

pub enum Foo {
    Bar {
        a: i32,
        b: i32,
        c: i32,
    },
    Baz,
}

fn main() {
    let myfoo = Foo::Bar { a: 1, b: 2, c: 3 };
    let x: i32 = match myfoo {
        Foo::Bar { a, b, c } => b * b,
        Foo::Baz => -1,
    };
    assert_eq!(x, 4);
}

我知道我可以在某个时间点之后忽略 struct 成员:

Foo::Bar { a, .. } => // do stuff with 'a'

但我在任何地方都找不到解释如何忽略单个 struct 成员的文档.

Code on Rust Playground

推荐答案

我知道我可以在某个时间点之后忽略 struct 成员:

..不是定位的.它的意思是"所有其他字段":

Foo::Bar { b, .. } => b * b,

Rust相关问答推荐

如何使用Match比较 struct 中的值

如何仅使用http机箱发送http请求?

为什么我不能从带有字符串的 struct 的引用迭代器中收集VEC<;&;str&>?

在Rust中赋值变量有运行时开销吗?

为什么std repeat trait绑定在impl块和关联函数之间?

有没有办法避免在While循环中多次borrow `*分支`

`RwLockWriteGuard_,T`不实现T实现的特征

如何go 除多余的(0..)在迭代中,当它不被使用时?

在Rust中声明和定义一个 struct 体有什么区别

Rust函数的返回值不能引用局部变量或临时变量

UnsafeCell:它如何通知 rustc Select 退出基于别名的优化?

在 Rust 中,在第一个空格上分割字符串一次

通过写入 std::io::stdout() 输出不可见

如何基于常量在Rust中跳过一个测试

在 Bevy 项目中为 TextureAtlas 精灵实施 NearestNeighbor 的正确方法是什么?

为什么 File::read_to_end 缓冲区容量越大越慢?

如何将参数传递给Rust 的线程?

为什么 Rust 编译器在移动不可变值时执行复制?

当 `T` 没有实现 `Debug` 时替代 `unwrap()`

需要括号的宏调用中的不必要的括号警告 - 这是编写宏的糟糕方法吗?