diff options
Diffstat (limited to '')
-rw-r--r-- | dhall/src/expr.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/dhall/src/expr.rs b/dhall/src/expr.rs index 5ff097b..aa02c28 100644 --- a/dhall/src/expr.rs +++ b/dhall/src/expr.rs @@ -29,11 +29,11 @@ pub struct Resolved(pub(crate) SubExpr<X, X>); derive_other_traits!(Resolved); #[derive(Debug, Clone, Eq)] -pub struct Typed(pub(crate) SubExpr<X, X>, pub(crate) Type); +pub struct Typed(pub(crate) SubExpr<X, X>, pub(crate) Option<Type>); derive_other_traits!(Typed); #[derive(Debug, Clone, Eq)] -pub struct Normalized(pub(crate) SubExpr<X, X>, pub(crate) Type); +pub struct Normalized(pub(crate) SubExpr<X, X>, pub(crate) Option<Type>); derive_other_traits!(Normalized); /// An expression of type `Type` (like `Bool` or `Natural -> Text`, but not `Type`) @@ -47,7 +47,8 @@ pub struct Type(pub(crate) TypeInternal); #[derive(Debug, Clone, PartialEq, Eq)] pub(crate) enum TypeInternal { Expr(Box<Normalized>), - Untyped, + // The type of `Sort` + SuperType, } // Exposed for the macros |