summaryrefslogtreecommitdiff
path: root/dhall/src/expr.rs
diff options
context:
space:
mode:
Diffstat (limited to 'dhall/src/expr.rs')
-rw-r--r--dhall/src/expr.rs22
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)))
+ }
+}
+