Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/source_analyzer.rs')
| -rw-r--r-- | crates/hir/src/source_analyzer.rs | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/crates/hir/src/source_analyzer.rs b/crates/hir/src/source_analyzer.rs index 485d525516..db4e92098e 100644 --- a/crates/hir/src/source_analyzer.rs +++ b/crates/hir/src/source_analyzer.rs @@ -13,7 +13,8 @@ use std::{ use either::Either; use hir_def::{ AdtId, AssocItemId, CallableDefId, ConstId, DefWithBodyId, ExpressionStoreOwnerId, FieldId, - FunctionId, GenericDefId, HasModule, LocalFieldId, ModuleDefId, StructId, VariantId, + FunctionId, GenericDefId, HasModule, LocalFieldId, LoweringMode, ModuleDefId, StructId, + VariantId, expr_store::{ Body, BodySourceMap, ExpressionStore, ExpressionStoreSourceMap, HygieneId, lower::{ExprCollector, lower_generic_params}, @@ -378,8 +379,15 @@ impl<'db> SourceAnalyzer<'db> { }; let generic_def = owner.generic_def(db); let module = generic_def.module(db); - let (store, params, _) = - lower_generic_params(db, module, generic_def, self.file_id, None, Some(where_clause)); + let (store, params, _) = lower_generic_params( + db, + module, + generic_def, + self.file_id, + None, + Some(where_clause), + LoweringMode::Ide, + ); let predicates = params.where_predicates(); if predicates.is_empty() { return PredicateEvaluationResult::holds("predicate does not impose any obligations"); @@ -1275,7 +1283,8 @@ impl<'db> SourceAnalyzer<'db> { } // FIXME: collectiong here shouldnt be necessary? - let mut collector = ExprCollector::new(db, self.resolver.module(), self.file_id); + let mut collector = + ExprCollector::new(db, self.resolver.module(), self.file_id, LoweringMode::Ide); let hir_path = collector.lower_path(path.clone(), &mut ExprCollector::impl_trait_error_allocator)?; let parent_hir_path = path @@ -1480,7 +1489,8 @@ impl<'db> SourceAnalyzer<'db> { db: &dyn HirDatabase, path: &ast::Path, ) -> Option<PathResolutionPerNs> { - let mut collector = ExprCollector::new(db, self.resolver.module(), self.file_id); + let mut collector = + ExprCollector::new(db, self.resolver.module(), self.file_id, LoweringMode::Ide); let hir_path = collector.lower_path(path.clone(), &mut ExprCollector::impl_trait_error_allocator)?; let (store, _) = collector.store.finish(); |