diff options
Diffstat (limited to 'dhall/src/syntax/ast')
-rw-r--r-- | dhall/src/syntax/ast/expr.rs | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/dhall/src/syntax/ast/expr.rs b/dhall/src/syntax/ast/expr.rs index 424ac34..28a0aee 100644 --- a/dhall/src/syntax/ast/expr.rs +++ b/dhall/src/syntax/ast/expr.rs @@ -23,8 +23,8 @@ pub enum Const { /// The `Label` field is the variable's name (i.e. \"`x`\"). /// The `Int` field is a DeBruijn index. /// See dhall-lang/standard/semantics.md for details -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -pub struct V<Label>(pub Label, pub usize); +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub struct V(pub Label, pub usize); // Definition order must match precedence order for // pretty-printing to work correctly @@ -112,7 +112,7 @@ pub enum ExprKind<SubExpr, Embed> { Const(Const), /// `x` /// `x@n` - Var(V<Label>), + Var(V), /// `λ(x : A) -> b` Lam(Label, SubExpr, SubExpr), /// `A -> B` @@ -173,12 +173,6 @@ pub enum ExprKind<SubExpr, Embed> { Embed(Embed), } -impl<Label> V<Label> { - pub(crate) fn idx(&self) -> usize { - self.1 - } -} - impl<SE, E> ExprKind<SE, E> { pub fn traverse_ref_maybe_binder<'a, SE2, Err>( &'a self, @@ -356,8 +350,8 @@ impl From<NaiveDouble> for f64 { } } -impl<Label> From<Label> for V<Label> { - fn from(x: Label) -> V<Label> { +impl From<Label> for V { + fn from(x: Label) -> V { V(x, 0) } } |