diff options
Diffstat (limited to 'tests/ui/nll/lint-no-err.rs')
-rw-r--r-- | tests/ui/nll/lint-no-err.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/nll/lint-no-err.rs b/tests/ui/nll/lint-no-err.rs new file mode 100644 index 000000000..2d1d5cb26 --- /dev/null +++ b/tests/ui/nll/lint-no-err.rs @@ -0,0 +1,21 @@ +// check-pass + +// mir borrowck previously incorrectly set `tainted_by_errors` +// when buffering lints, which resulted in ICE later on, +// see #94502. + +struct Repro; +impl Repro { + fn get(&self) -> &i32 { + &3 + } + + fn insert(&mut self, _: i32) {} +} + +fn main() { + let x = &0; + let mut conflict = Repro; + let prev = conflict.get(); + conflict.insert(*prev + *x); +} |