Skip to content

Commit fbad1b8

Browse files
Merge #6856
6856: Add test for #6852 r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
2 parents 48802e5 + 4788aaa commit fbad1b8

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

crates/hir_ty/src/tests/regression.rs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -883,3 +883,40 @@ fn issue_6628() {
883883
"#]],
884884
);
885885
}
886+
887+
#[test]
888+
fn issue_6852() {
889+
check_infer(
890+
r#"
891+
#[lang = "deref"]
892+
pub trait Deref {
893+
type Target;
894+
}
895+
896+
struct BufWriter {}
897+
898+
struct Mutex<T> {}
899+
struct MutexGuard<'a, T> {}
900+
impl<T> Mutex<T> {
901+
fn lock(&self) -> MutexGuard<'_, T> {}
902+
}
903+
impl<'a, T: 'a> Deref for MutexGuard<'a, T> {
904+
type Target = T;
905+
}
906+
fn flush(&self) {
907+
let w: &Mutex<BufWriter>;
908+
*(w.lock());
909+
}
910+
"#,
911+
expect![[r#"
912+
156..160 'self': &Mutex<T>
913+
183..185 '{}': ()
914+
267..271 'self': &{unknown}
915+
273..323 '{ ...()); }': ()
916+
283..284 'w': &Mutex<BufWriter>
917+
309..320 '*(w.lock())': BufWriter
918+
311..312 'w': &Mutex<BufWriter>
919+
311..319 'w.lock()': MutexGuard<BufWriter>
920+
"#]],
921+
);
922+
}

0 commit comments

Comments
 (0)