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.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/crates/hir_ty/src/tests/regression.rs b/crates/hir_ty/src/tests/regression.rs index 812f12aced..b17e517ccb 100644 --- a/crates/hir_ty/src/tests/regression.rs +++ b/crates/hir_ty/src/tests/regression.rs @@ -1267,3 +1267,34 @@ fn test() { "#]], ); } + +#[test] +fn bug_11242() { + // FIXME: wrong, should be u32 + check_types( + r#" +fn foo<A, B>() +where + A: IntoIterator<Item = u32>, + B: IntoIterator<Item = usize>, +{ + let _x: <A as IntoIterator>::Item; + // ^^ {unknown} +} + +pub trait Iterator { + type Item; +} + +pub trait IntoIterator { + type Item; + type IntoIter: Iterator<Item = Self::Item>; +} + +impl<I: Iterator> IntoIterator for I { + type Item = I::Item; + type IntoIter = I; +} +"#, + ); +} |