Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/tests/regression.rs')
-rw-r--r--crates/hir-ty/src/tests/regression.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/crates/hir-ty/src/tests/regression.rs b/crates/hir-ty/src/tests/regression.rs
index d3dfc44c22..a559ad9b91 100644
--- a/crates/hir-ty/src/tests/regression.rs
+++ b/crates/hir-ty/src/tests/regression.rs
@@ -2856,3 +2856,31 @@ fn foo<T: B>(v: T::T) {}
"#,
);
}
+
+#[test]
+fn regression_() {
+ check_types(
+ r#"
+//- minicore: fn
+trait Super {
+ type Assoc;
+ fn foo(self) -> Self::Assoc
+ where
+ Self: Sub,
+ { loop {} }
+}
+trait Sub: Super {}
+
+struct Struct;
+impl Super for Struct {
+ type Assoc = u8;
+}
+impl Sub for Struct {}
+
+fn foo() {
+ Struct.foo();
+ // ^^^^^^^^^^^^ u8
+}
+ "#,
+ );
+}