diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-01-06 12:01:03 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-06 12:01:03 +0100 |
| commit | 96a267ee1fb20fe7c77e1feb8742de467f3e7d23 (patch) | |
| tree | 6c7eec0800a145a9853cda34d9496ea8c94f528a | |
| parent | fb87e7ceed416f59196619df322710dfe5ba9cb3 (diff) | |
| parent | 57ac3179422248ac4f06210e4120c40f86e50dce (diff) | |
| download | rust-96a267ee1fb20fe7c77e1feb8742de467f3e7d23.tar.gz rust-96a267ee1fb20fe7c77e1feb8742de467f3e7d23.zip | |
Rollup merge of #92389 - chordtoll:test-92015, r=Mark-Simulacrum
Regression test for borrowck ICE #92015 This issue has come up a few times. Creating a regression test. Closes #92015.
| -rw-r--r-- | src/test/ui/borrowck/issue-92015.rs | 7 | ||||
| -rw-r--r-- | src/test/ui/borrowck/issue-92015.stderr | 11 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/borrowck/issue-92015.rs b/src/test/ui/borrowck/issue-92015.rs new file mode 100644 index 00000000000..16d651717ff --- /dev/null +++ b/src/test/ui/borrowck/issue-92015.rs @@ -0,0 +1,7 @@ +// Regression test for #92105. +// ICE when mutating immutable reference from last statement of a block. + +fn main() { + let foo = Some(&0).unwrap(); + *foo = 1; //~ ERROR cannot assign +} diff --git a/src/test/ui/borrowck/issue-92015.stderr b/src/test/ui/borrowck/issue-92015.stderr new file mode 100644 index 00000000000..32a65d3b5bb --- /dev/null +++ b/src/test/ui/borrowck/issue-92015.stderr @@ -0,0 +1,11 @@ +error[E0594]: cannot assign to `*foo`, which is behind a `&` reference + --> $DIR/issue-92015.rs:6:5 + | +LL | let foo = Some(&0).unwrap(); + | --- help: consider changing this to be a mutable reference: `&mut i32` +LL | *foo = 1; + | ^^^^^^^^ `foo` is a `&` reference, so the data it refers to cannot be written + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0594`. |
