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.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/hir-ty/src/lower.rs b/crates/hir-ty/src/lower.rs
index dac20f2259..3e6d81f6ca 100644
--- a/crates/hir-ty/src/lower.rs
+++ b/crates/hir-ty/src/lower.rs
@@ -1107,8 +1107,12 @@ impl<'a> TyLoweringContext<'a> {
binding.type_ref.as_ref().map_or(0, |_| 1) + binding.bounds.len(),
);
if let Some(type_ref) = &binding.type_ref {
- if let (TypeRef::ImplTrait(bounds), ImplTraitLoweringState::Disallowed) =
- (type_ref, &self.impl_trait_mode)
+ if let (
+ TypeRef::ImplTrait(bounds),
+ ImplTraitLoweringState::Param(_)
+ | ImplTraitLoweringState::Variable(_)
+ | ImplTraitLoweringState::Disallowed,
+ ) = (type_ref, &self.impl_trait_mode)
{
for bound in bounds {
predicates.extend(