c678acd3a2
Previously, when borrowck failed it would taint all promoteds within the MIR body. An attempt to evaluated the promoteds would subsequently fail with spurious "note: erroneous constant used". For example: ```console ... note: erroneous constant used --> tests/ui/borrowck/tainted-promoteds.rs:7:9 | 7 | a = &0 * &1 * &2 * &3; | ^^ note: erroneous constant used --> tests/ui/borrowck/tainted-promoteds.rs:7:14 | 7 | a = &0 * &1 * &2 * &3; | ^^ note: erroneous constant used --> tests/ui/borrowck/tainted-promoteds.rs:7:19 | 7 | a = &0 * &1 * &2 * &3; | ^^ note: erroneous constant used --> tests/ui/borrowck/tainted-promoteds.rs:7:24 | 7 | a = &0 * &1 * &2 * &3; | ^^ ``` Borrowck failure doesn't indicate that there is anything wrong with promoteds. Leave them untainted.
15 lines
466 B
Plaintext
15 lines
466 B
Plaintext
error[E0384]: cannot assign twice to immutable variable `a`
|
|
--> $DIR/tainted-promoteds.rs:7:5
|
|
|
|
|
LL | let a = 0;
|
|
| -
|
|
| |
|
|
| first assignment to `a`
|
|
| help: consider making this binding mutable: `mut a`
|
|
LL | a = &0 * &1 * &2 * &3;
|
|
| ^^^^^^^^^^^^^^^^^^^^^ cannot assign twice to immutable variable
|
|
|
|
error: aborting due to previous error
|
|
|
|
For more information about this error, try `rustc --explain E0384`.
|