]> git.proxmox.com Git - rustc.git/blob - src/test/ui/typeck/issue-68590-reborrow-through-derefmut.rs
New upstream version 1.46.0~beta.2+dfsg1
[rustc.git] / src / test / ui / typeck / issue-68590-reborrow-through-derefmut.rs
1 // check-pass
2
3 // rust-lang/rust#68590: confusing diagnostics when reborrowing through DerefMut.
4
5 use std::cell::RefCell;
6
7 struct A;
8
9 struct S<'a> {
10 a: &'a mut A,
11 }
12
13 fn take_a(_: &mut A) {}
14
15 fn test<'a>(s: &RefCell<S<'a>>) {
16 let mut guard = s.borrow_mut();
17 take_a(guard.a);
18 let _s2 = S { a: guard.a };
19 }
20
21 fn main() {
22 let a = &mut A;
23 let s = RefCell::new(S { a });
24 test(&s);
25 }