summaryrefslogtreecommitdiffstats
path: root/src/test/ui/nll/borrowed-referent-issue-38899.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/nll/borrowed-referent-issue-38899.rs')
-rw-r--r--src/test/ui/nll/borrowed-referent-issue-38899.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/nll/borrowed-referent-issue-38899.rs b/src/test/ui/nll/borrowed-referent-issue-38899.rs
new file mode 100644
index 000000000..1fe133283
--- /dev/null
+++ b/src/test/ui/nll/borrowed-referent-issue-38899.rs
@@ -0,0 +1,17 @@
+// Regression test for issue #38899
+
+pub struct Block<'a> {
+ current: &'a u8,
+ unrelated: &'a u8,
+}
+
+fn bump<'a>(mut block: &mut Block<'a>) {
+ let x = &mut block;
+ println!("{}", x.current);
+ let p: &'a u8 = &*block.current;
+ //~^ ERROR cannot borrow `*block.current` as immutable because it is also borrowed as mutable
+ drop(x);
+ drop(p);
+}
+
+fn main() {}