summaryrefslogtreecommitdiffstats
path: root/src/tools/rust-analyzer/crates/hir-ty/src/tests/regression.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/tools/rust-analyzer/crates/hir-ty/src/tests/regression.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/hir-ty/src/tests/regression.rs b/src/tools/rust-analyzer/crates/hir-ty/src/tests/regression.rs
index 4e4639745..de6ae7fff 100644
--- a/src/tools/rust-analyzer/crates/hir-ty/src/tests/regression.rs
+++ b/src/tools/rust-analyzer/crates/hir-ty/src/tests/regression.rs
@@ -1723,3 +1723,24 @@ fn bar() -> ControlFlow<(), ()> {
"#,
);
}
+
+#[test]
+fn assoc_type_shorthand_with_gats_in_binders() {
+ // c.f. test `issue_4885()`
+ check_no_mismatches(
+ r#"
+trait Gats {
+ type Assoc<T>;
+}
+trait Foo<T> {}
+
+struct Bar<'a, B: Gats, A> {
+ field: &'a dyn Foo<B::Assoc<A>>,
+}
+
+fn foo(b: Bar) {
+ let _ = b.field;
+}
+"#,
+ );
+}