]> git.lizzy.rs Git - rust.git/blob - src/test/ui/typeck/issue-68590-reborrow-through-derefmut.rs
Merge commit '35d9c6bf256968e1b40e0d554607928bdf9cebea' into sync_cg_clif-2022-02-23
[rust.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 }