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() {
883
883
"# ] ] ,
884
884
) ;
885
885
}
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