diff options
| author | bors <bors@rust-lang.org> | 2019-11-27 00:32:30 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-11-27 00:32:30 +0000 |
| commit | 809e180a76ce97340bf4354ff357bc59e3ca40b2 (patch) | |
| tree | 7c8e0aaf9f4345352e07818cb99d9b99d78ad81e /src/librustc_error_codes | |
| parent | a7d791b4503a86c1b16b4393ba7998ef8b561a27 (diff) | |
| parent | 8547ea32db4a6f2c5b27827b30f372859de22fbb (diff) | |
| download | rust-809e180a76ce97340bf4354ff357bc59e3ca40b2.tar.gz rust-809e180a76ce97340bf4354ff357bc59e3ca40b2.zip | |
Auto merge of #66794 - tmandry:rollup-99qrpr0, r=tmandry
Rollup of 14 pull requests Successful merges: - #66128 (alloc: Add new_zeroed() versions like new_uninit().) - #66661 (Add riscv64gc-unknown-linux-gnu target) - #66663 (Miri: print leak report even without tracing) - #66711 (Add hardware floating point features to aarch64-pc-windows-msvc) - #66713 (introduce a target to build the kernel of the unikernel HermitCore) - #66717 (tidy: Accommodate rustfmt's preferred layout of stability attributes) - #66719 (Store pointer width as u32 on Config) - #66720 (Move ErrorReported to rustc_errors) - #66737 (Error codes cleanup) - #66754 (Various tweaks to diagnostic output) - #66763 (Minor edit for documentation-tests.md that increases clarity) - #66779 (follow the same function order in the trait) - #66786 (Add wildcard test for const_if_match) - #66788 (Allow `Unreachable` terminators through `min_const_fn` checks) Failed merges: r? @ghost
Diffstat (limited to 'src/librustc_error_codes')
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0062.md | 10 | ||||
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0063.md | 5 | ||||
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0067.md | 32 | ||||
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0069.md | 4 | ||||
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0070.md | 38 |
5 files changed, 39 insertions, 50 deletions
diff --git a/src/librustc_error_codes/error_codes/E0062.md b/src/librustc_error_codes/error_codes/E0062.md index 0ebeb1bd78e..64fc027b885 100644 --- a/src/librustc_error_codes/error_codes/E0062.md +++ b/src/librustc_error_codes/error_codes/E0062.md @@ -1,6 +1,6 @@ -This error indicates that during an attempt to build a struct or struct-like -enum variant, one of the fields was specified more than once. Erroneous code -example: +A struct's or struct-like enum variant's field was specified more than once. + +Erroneous code example: ```compile_fail,E0062 struct Foo { @@ -15,7 +15,9 @@ fn main() { } ``` -Each field should be specified exactly one time. Example: +This error indicates that during an attempt to build a struct or struct-like +enum variant, one of the fields was specified more than once. Each field should +be specified exactly one time. Example: ``` struct Foo { diff --git a/src/librustc_error_codes/error_codes/E0063.md b/src/librustc_error_codes/error_codes/E0063.md index 0d1f60437ac..0e611deac42 100644 --- a/src/librustc_error_codes/error_codes/E0063.md +++ b/src/librustc_error_codes/error_codes/E0063.md @@ -1,5 +1,6 @@ -This error indicates that during an attempt to build a struct or struct-like -enum variant, one of the fields was not provided. Erroneous code example: +A struct's or struct-like enum variant's field was not provided. + +Erroneous code example: ```compile_fail,E0063 struct Foo { diff --git a/src/librustc_error_codes/error_codes/E0067.md b/src/librustc_error_codes/error_codes/E0067.md index 101b96f7983..11041bb53ee 100644 --- a/src/librustc_error_codes/error_codes/E0067.md +++ b/src/librustc_error_codes/error_codes/E0067.md @@ -1,33 +1,15 @@ -The left-hand side of a compound assignment expression must be a place -expression. A place expression represents a memory location and includes -item paths (ie, namespaced variables), dereferences, indexing expressions, -and field references. +An invalid left-hand side expression was used on an assignment operation. -Let's start with some erroneous code examples: +Erroneous code example: ```compile_fail,E0067 -use std::collections::LinkedList; - -// Bad: assignment to non-place expression -LinkedList::new() += 1; - -// ... - -fn some_func(i: &mut i32) { - i += 12; // Error : '+=' operation cannot be applied on a reference ! -} +12 += 1; // error! ``` -And now some working examples: +You need to have a place expression to be able to assign it something. For +example: ``` -let mut i : i32 = 0; - -i += 12; // Good ! - -// ... - -fn some_func(i: &mut i32) { - *i += 12; // Good ! -} +let mut x: i8 = 12; +x += 1; // ok! ``` diff --git a/src/librustc_error_codes/error_codes/E0069.md b/src/librustc_error_codes/error_codes/E0069.md index ad3b1803b54..7367a5c0922 100644 --- a/src/librustc_error_codes/error_codes/E0069.md +++ b/src/librustc_error_codes/error_codes/E0069.md @@ -1,5 +1,7 @@ The compiler found a function whose body contains a `return;` statement but -whose return type is not `()`. An example of this is: +whose return type is not `()`. + +Erroneous code example: ```compile_fail,E0069 // error diff --git a/src/librustc_error_codes/error_codes/E0070.md b/src/librustc_error_codes/error_codes/E0070.md index 1a56080a097..97522af3da8 100644 --- a/src/librustc_error_codes/error_codes/E0070.md +++ b/src/librustc_error_codes/error_codes/E0070.md @@ -1,41 +1,43 @@ -The left-hand side of an assignment operator must be a place expression. A -place expression represents a memory location and can be a variable (with -optional namespacing), a dereference, an indexing expression or a field -reference. +An assignment operator was used on a non-place expression. -More details can be found in the [Expressions] section of the Reference. - -[Expressions]: https://doc.rust-lang.org/reference/expressions.html#places-rvalues-and-temporaries - -Now, we can go further. Here are some erroneous code examples: +Erroneous code examples: ```compile_fail,E0070 struct SomeStruct { x: i32, - y: i32 + y: i32, } -const SOME_CONST : i32 = 12; +const SOME_CONST: i32 = 12; fn some_other_func() {} fn some_function() { - SOME_CONST = 14; // error : a constant value cannot be changed! - 1 = 3; // error : 1 isn't a valid place! - some_other_func() = 4; // error : we cannot assign value to a function! - SomeStruct.x = 12; // error : SomeStruct a structure name but it is used - // like a variable! + SOME_CONST = 14; // error: a constant value cannot be changed! + 1 = 3; // error: 1 isn't a valid place! + some_other_func() = 4; // error: we cannot assign value to a function! + SomeStruct::x = 12; // error: SomeStruct a structure name but it is used + // like a variable! } ``` +The left-hand side of an assignment operator must be a place expression. A +place expression represents a memory location and can be a variable (with +optional namespacing), a dereference, an indexing expression or a field +reference. + +More details can be found in the [Expressions] section of the Reference. + +[Expressions]: https://doc.rust-lang.org/reference/expressions.html#places-rvalues-and-temporaries + And now let's give working examples: ``` struct SomeStruct { x: i32, - y: i32 + y: i32, } -let mut s = SomeStruct {x: 0, y: 0}; +let mut s = SomeStruct { x: 0, y: 0 }; s.x = 3; // that's good ! |
