summaryrefslogtreecommitdiff
path: root/dhall/src/traits
diff options
context:
space:
mode:
authorNadrieril2019-04-21 19:38:09 +0200
committerNadrieril2019-04-21 19:38:09 +0200
commit20f01b79378a41c6e063d33c584d04c756419a26 (patch)
treeaafd2f1da93f845b6527c19421d61370850d6fc1 /dhall/src/traits
parentd1f828961bccf9627ef4fb76ca528f039d180ff7 (diff)
Factor out context handling
Diffstat (limited to 'dhall/src/traits')
-rw-r--r--dhall/src/traits/dynamic_type.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/dhall/src/traits/dynamic_type.rs b/dhall/src/traits/dynamic_type.rs
index d4faf45..479bed6 100644
--- a/dhall/src/traits/dynamic_type.rs
+++ b/dhall/src/traits/dynamic_type.rs
@@ -1,7 +1,8 @@
use crate::expr::*;
use crate::traits::StaticType;
-use crate::typecheck::{type_of_const, TypeError, TypeMessage};
-use dhall_core::context::Context;
+use crate::typecheck::{
+ type_of_const, TypeError, TypeMessage, TypecheckContext,
+};
use dhall_core::{Const, ExprF};
use std::borrow::Cow;
@@ -21,7 +22,7 @@ impl<'a> DynamicType for Type<'a> {
TypeInternal::Expr(e) => e.get_type(),
TypeInternal::Const(c) => Ok(Cow::Owned(type_of_const(*c))),
TypeInternal::SuperType => Err(TypeError::new(
- &Context::new(),
+ &TypecheckContext::new(),
dhall_core::rc(ExprF::Const(Const::Sort)),
TypeMessage::Untyped,
)),
@@ -34,7 +35,7 @@ impl<'a> DynamicType for Normalized<'a> {
match &self.1 {
Some(t) => Ok(Cow::Borrowed(t)),
None => Err(TypeError::new(
- &Context::new(),
+ &TypecheckContext::new(),
self.0.embed_absurd(),
TypeMessage::Untyped,
)),
@@ -47,7 +48,7 @@ impl<'a> DynamicType for Typed<'a> {
match &self.1 {
Some(t) => Ok(Cow::Borrowed(t)),
None => Err(TypeError::new(
- &Context::new(),
+ &TypecheckContext::new(),
self.0.clone(),
TypeMessage::Untyped,
)),