Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/lower.rs')
| -rw-r--r-- | crates/hir-ty/src/lower.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/hir-ty/src/lower.rs b/crates/hir-ty/src/lower.rs index c49e943437..83b67bf1fe 100644 --- a/crates/hir-ty/src/lower.rs +++ b/crates/hir-ty/src/lower.rs @@ -1809,8 +1809,12 @@ fn resolve_type_param_assoc_type_shorthand( return AssocTypeShorthandResolution::Ambiguous { sub_trait_resolution: Some(this_trait_resolution), }; - } else if supertraits_resolution.is_some() { - return AssocTypeShorthandResolution::Ambiguous { sub_trait_resolution: None }; + } else if let Some(prev_resolution) = &supertraits_resolution { + if prev_resolution == lookup_on_bounded_trait { + return AssocTypeShorthandResolution::Ambiguous { sub_trait_resolution: None }; + } else { + continue; + } } else { let (assoc_type, args) = assoc_type_and_args .get_with(|(assoc_type, args)| (*assoc_type, args.as_ref())) |