forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#66443 - GuillaumeGomez:port-erased-cleanup,…
… r=Mark-Simulacrum Port erased cleanup Just realised that the changes I made in rust-lang#65965 were removed after the move of all error codes so here it is. I made them into separate commits to make the history look better this time. r? @Mark-Simulacrum
- Loading branch information
Showing
16 changed files
with
135 additions
and
76 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
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
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