From: Yuki Okushi Date: Sun, 19 Sep 2021 08:31:29 +0000 (+0900) Subject: Rollup merge of #87960 - hkmatsumoto:suggest-inexisting-field-for-unmentioned-field... X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=ebd31f5f1a51099038935e679b0eb92afa3364a5;p=rust.git Rollup merge of #87960 - hkmatsumoto:suggest-inexisting-field-for-unmentioned-field, r=estebank Suggest replacing an inexisting field for an unmentioned field Fix #87938 This PR adds a suggestion to replace an inexisting field for an unmentioned field. Given the following code: ```rust enum Foo { Bar { alpha: u8, bravo: u8, charlie: u8 }, } fn foo(foo: Foo) { match foo { Foo::Bar { alpha, beta, // `bravo` miswritten as `beta` here. charlie, } => todo!(), } } ``` the compiler now emits the error messages below. ```text error[E0026]: variant `Foo::Bar` does not have a field named `beta` --> src/lib.rs:9:13 | 9 | beta, // `bravo` miswritten as `beta` here. | ^^^^ | | | variant `Foo::Bar` does not have this field | help: `Foo::Bar` has a field named `bravo`: `bravo` ``` Note that this suggestion is available iff the number of inexisting fields and unmentioned fields are both 1. --- ebd31f5f1a51099038935e679b0eb92afa3364a5