diff options
author | Nadrieril | 2020-02-09 17:39:01 +0000 |
---|---|---|
committer | Nadrieril | 2020-02-09 19:58:28 +0000 |
commit | 81504a7ee24f22820c6bc85823c879d488710d11 (patch) | |
tree | cf42f91130c602b7f008035c50553222f6ba44c2 /dhall/src/semantics | |
parent | ca93f39201f6f8be9bc1466eed7323d0426e135c (diff) |
Massively deduplicate test harness
Diffstat (limited to '')
-rw-r--r-- | dhall/src/semantics/tck/typecheck.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/dhall/src/semantics/tck/typecheck.rs b/dhall/src/semantics/tck/typecheck.rs index 6817712..dd9a8fa 100644 --- a/dhall/src/semantics/tck/typecheck.rs +++ b/dhall/src/semantics/tck/typecheck.rs @@ -847,7 +847,10 @@ pub(crate) fn type_with( /// Typecheck an expression and return the expression annotated with types if type-checking /// succeeded, or an error if type-checking failed. pub(crate) fn typecheck(e: &Expr<Normalized>) -> Result<TyExpr, TypeError> { - type_with(&TyEnv::new(), e) + let res = type_with(&TyEnv::new(), e)?; + // Ensure that the inferred type exists (i.e. this is not Sort) + res.get_type()?; + Ok(res) } /// Like `typecheck`, but additionally checks that the expression's type matches the provided type. |