File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff 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+ }
You can’t perform that action at this time.
0 commit comments