From 5ffddc4b921685ebd5f9525f7e33913a1d08c04e Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 6 Mar 2020 15:11:05 +0100 Subject: Explicitly remember desugard exprs --- crates/ra_hir_def/src/body.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'crates/ra_hir_def/src/body.rs') diff --git a/crates/ra_hir_def/src/body.rs b/crates/ra_hir_def/src/body.rs index cd9e22c42..e60adc146 100644 --- a/crates/ra_hir_def/src/body.rs +++ b/crates/ra_hir_def/src/body.rs @@ -149,14 +149,14 @@ pub type PatSource = InFile; #[derive(Default, Debug, Eq, PartialEq)] pub struct BodySourceMap { expr_map: FxHashMap, - expr_map_back: ArenaMap, + expr_map_back: ArenaMap>, pat_map: FxHashMap, pat_map_back: ArenaMap, field_map: FxHashMap<(ExprId, usize), AstPtr>, expansions: FxHashMap>, HirFileId>, } -#[derive(Debug)] +#[derive(Default, Debug, Eq, PartialEq, Clone, Copy)] pub struct SyntheticSyntax; impl Body { @@ -223,7 +223,7 @@ impl Index for Body { impl BodySourceMap { pub fn expr_syntax(&self, expr: ExprId) -> Result { - self.expr_map_back.get(expr).copied().ok_or(SyntheticSyntax) + self.expr_map_back[expr] } pub fn node_expr(&self, node: InFile<&ast::Expr>) -> Option { -- cgit v1.2.3