-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #66449 - tmandry:rollup-3p1t0sb, r=tmandry
Rollup of 4 pull requests Successful merges: - #66197 (Push `ast::{ItemKind, ImplItemKind}::OpaqueTy` hack down into lowering) - #66429 (Add a regression test for #62524) - #66435 (Correct `const_in_array_repeat_expressions` feature name) - #66443 (Port erased cleanup) Failed merges: r? @ghost
- Loading branch information
Showing
50 changed files
with
494 additions
and
346 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,34 @@ | ||
This error indicates that a struct pattern attempted to extract a non-existent | ||
field from a struct. Struct fields are identified by the name used before the | ||
colon `:` so struct patterns should resemble the declaration of the struct type | ||
being matched. | ||
A struct pattern attempted to extract a non-existent field from a struct. | ||
|
||
``` | ||
// Correct matching. | ||
struct Thing { | ||
x: u32, | ||
y: u32 | ||
} | ||
let thing = Thing { x: 1, y: 2 }; | ||
match thing { | ||
Thing { x: xfield, y: yfield } => {} | ||
} | ||
``` | ||
|
||
If you are using shorthand field patterns but want to refer to the struct field | ||
by a different name, you should rename it explicitly. | ||
|
||
Change this: | ||
Erroneous code example: | ||
|
||
```compile_fail,E0026 | ||
struct Thing { | ||
x: u32, | ||
y: u32 | ||
y: u32, | ||
} | ||
let thing = Thing { x: 0, y: 0 }; | ||
match thing { | ||
Thing { x, z } => {} | ||
Thing { x, z } => {} // error: `Thing::z` field doesn't exist | ||
} | ||
``` | ||
|
||
To this: | ||
If you are using shorthand field patterns but want to refer to the struct field | ||
by a different name, you should rename it explicitly. Struct fields are | ||
identified by the name used before the colon `:` so struct patterns should | ||
resemble the declaration of the struct type being matched. | ||
|
||
``` | ||
struct Thing { | ||
x: u32, | ||
y: u32 | ||
y: u32, | ||
} | ||
let thing = Thing { x: 0, y: 0 }; | ||
match thing { | ||
Thing { x, y: z } => {} | ||
Thing { x, y: z } => {} // we renamed `y` to `z` | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
You cannot use type or const parameters on foreign items. | ||
|
||
Example of erroneous code: | ||
|
||
```compile_fail,E0044 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.