summaryrefslogtreecommitdiff
path: root/dhall/src/semantics/tck
diff options
context:
space:
mode:
Diffstat (limited to 'dhall/src/semantics/tck')
-rw-r--r--dhall/src/semantics/tck/env.rs12
-rw-r--r--dhall/src/semantics/tck/typecheck.rs2
2 files changed, 7 insertions, 7 deletions
diff --git a/dhall/src/semantics/tck/env.rs b/dhall/src/semantics/tck/env.rs
index 17b3cfe..6dd5076 100644
--- a/dhall/src/semantics/tck/env.rs
+++ b/dhall/src/semantics/tck/env.rs
@@ -21,18 +21,18 @@ impl VarEnv {
pub fn from_size(size: usize) -> Self {
VarEnv { size }
}
- pub fn size(&self) -> usize {
+ pub fn size(self) -> usize {
self.size
}
- pub fn insert(&self) -> Self {
+ pub fn insert(self) -> Self {
VarEnv {
size: self.size + 1,
}
}
- pub fn lookup(&self, var: &NzVar) -> AlphaVar {
+ pub fn lookup(self, var: NzVar) -> AlphaVar {
self.lookup_fallible(var).unwrap()
}
- pub fn lookup_fallible(&self, var: &NzVar) -> Option<AlphaVar> {
+ pub fn lookup_fallible(self, var: NzVar) -> Option<AlphaVar> {
let idx = self.size.checked_sub(var.idx() + 1)?;
Some(AlphaVar::new(idx))
}
@@ -67,8 +67,8 @@ impl TyEnv {
items: self.items.insert_value(e, ty),
}
}
- pub fn lookup(&self, var: &AlphaVar) -> Type {
- self.items.lookup_ty(&var)
+ pub fn lookup(&self, var: AlphaVar) -> Type {
+ self.items.lookup_ty(var)
}
}
diff --git a/dhall/src/semantics/tck/typecheck.rs b/dhall/src/semantics/tck/typecheck.rs
index 319bb9d..365df25 100644
--- a/dhall/src/semantics/tck/typecheck.rs
+++ b/dhall/src/semantics/tck/typecheck.rs
@@ -712,7 +712,7 @@ pub(crate) fn type_with<'hir>(
annot: Option<Type>,
) -> Result<Tir<'hir>, TypeError> {
let tir = match hir.kind() {
- HirKind::Var(var) => Tir::from_hir(hir, env.lookup(var)),
+ HirKind::Var(var) => Tir::from_hir(hir, env.lookup(*var)),
HirKind::Import(_, ty) => Tir::from_hir(hir, ty.clone()),
HirKind::Expr(ExprKind::Var(_)) => {
unreachable!("Hir should contain no unresolved variables")