diff options
Diffstat (limited to 'dhall/src/expr.rs')
-rw-r--r-- | dhall/src/expr.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/dhall/src/expr.rs b/dhall/src/expr.rs index aa02c28..6458be9 100644 --- a/dhall/src/expr.rs +++ b/dhall/src/expr.rs @@ -66,3 +66,25 @@ impl From<SubExpr<X, X>> for SimpleType { SimpleType(x) } } + +impl Typed { + pub(crate) fn as_expr(&self) -> &SubExpr<X, X> { + &self.0 + } + pub(crate) fn into_expr(self) -> SubExpr<X, X> { + self.0 + } +} + +impl Normalized { + pub(crate) fn as_expr(&self) -> &SubExpr<X, X> { + &self.0 + } + pub(crate) fn into_expr(self) -> SubExpr<X, X> { + self.0 + } + pub(crate) fn into_type(self) -> Type { + crate::expr::Type(TypeInternal::Expr(Box::new(self))) + } +} + |