Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir_ty/src/tests/traits.rs')
| -rw-r--r-- | crates/hir_ty/src/tests/traits.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/crates/hir_ty/src/tests/traits.rs b/crates/hir_ty/src/tests/traits.rs index 9531be760e..c2669646e2 100644 --- a/crates/hir_ty/src/tests/traits.rs +++ b/crates/hir_ty/src/tests/traits.rs @@ -393,6 +393,25 @@ fn test() { } #[test] +fn associated_type_shorthand_from_method_bound() { + check_types( + r#" +trait Iterable { + type Item; +} +struct S<T>; +impl<T> S<T> { + fn foo(self) -> T::Item where T: Iterable { loop {} } +} +fn test<T: Iterable>() { + let s: S<T>; + s.foo(); + // ^^^^^^^ Iterable::Item<T> +}"#, + ); +} + +#[test] fn infer_associated_type_bound() { check_types( r#" |