diff options
author | Nadrieril | 2020-02-18 19:12:31 +0000 |
---|---|---|
committer | Nadrieril | 2020-02-19 17:09:18 +0000 |
commit | 7cbfc1a0d32766a383d1f48902502adaa2234d2f (patch) | |
tree | e668b7f764fb4981a802bc619e0b2ff62fa9ce16 /dhall/src/semantics/resolve/env.rs | |
parent | a3990858840a737d7831be45953b38bd67361fb7 (diff) |
Avoid re-typechecking after import
Diffstat (limited to '')
-rw-r--r-- | dhall/src/semantics/resolve/env.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/dhall/src/semantics/resolve/env.rs b/dhall/src/semantics/resolve/env.rs index ff743d3..43676cc 100644 --- a/dhall/src/semantics/resolve/env.rs +++ b/dhall/src/semantics/resolve/env.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use crate::error::{Error, ImportError}; -use crate::semantics::{AlphaVar, Hir, Import, VarEnv}; +use crate::semantics::{AlphaVar, Import, TypedHir, VarEnv}; use crate::syntax::{Label, V}; /// Environment for resolving names. @@ -10,7 +10,7 @@ pub(crate) struct NameEnv { names: Vec<Label>, } -pub(crate) type ImportCache = HashMap<Import, Hir>; +pub(crate) type ImportCache = HashMap<Import, TypedHir>; pub(crate) type ImportStack = Vec<Import>; /// Environment for resolving imports @@ -75,8 +75,8 @@ impl ImportEnv { pub fn handle_import( &mut self, import: Import, - mut do_resolve: impl FnMut(&mut Self, &Import) -> Result<Hir, Error>, - ) -> Result<Hir, Error> { + mut do_resolve: impl FnMut(&mut Self, &Import) -> Result<TypedHir, Error>, + ) -> Result<TypedHir, Error> { if self.stack.contains(&import) { return Err( ImportError::ImportCycle(self.stack.clone(), import).into() |