From bc64e9e305f50ad04e6e2071dad8c153c1582b8c Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 31 Mar 2019 13:24:27 +0200 Subject: Remove some redundant namespacing --- dhall/src/dhall_type.rs | 60 +++++++++++++++++++++++------------------------ dhall/src/lib.rs | 3 ++- dhall/tests/dhall_type.rs | 32 ++++++++++++------------- 3 files changed, 48 insertions(+), 47 deletions(-) (limited to 'dhall') diff --git a/dhall/src/dhall_type.rs b/dhall/src/dhall_type.rs index 8abef32..6b0e06e 100644 --- a/dhall/src/dhall_type.rs +++ b/dhall/src/dhall_type.rs @@ -2,76 +2,76 @@ use dhall_core::*; use dhall_generator::*; #[derive(Debug, Clone)] -pub enum DhallConversionError {} +pub enum ConversionError {} -pub trait DhallType: Sized { - fn dhall_type() -> DhallExpr; +pub trait Type { + fn get_type() -> DhallExpr; // fn as_dhall(&self) -> DhallExpr; // fn from_dhall(e: DhallExpr) -> Result; } -impl DhallType for bool { - fn dhall_type() -> DhallExpr { +impl Type for bool { + fn get_type() -> DhallExpr { dhall_expr!(Bool) } } -impl DhallType for Natural { - fn dhall_type() -> DhallExpr { +impl Type for Natural { + fn get_type() -> DhallExpr { dhall_expr!(Natural) } } -impl DhallType for Integer { - fn dhall_type() -> DhallExpr { +impl Type for Integer { + fn get_type() -> DhallExpr { dhall_expr!(Integer) } } -impl DhallType for String { - fn dhall_type() -> DhallExpr { +impl Type for String { + fn get_type() -> DhallExpr { dhall_expr!(Text) } } -impl DhallType for (A, B) { - fn dhall_type() -> DhallExpr { - let ta = A::dhall_type(); - let tb = B::dhall_type(); +impl Type for (A, B) { + fn get_type() -> DhallExpr { + let ta = A::get_type(); + let tb = B::get_type(); dhall_expr!({ _1: ta, _2: tb }) } } -impl DhallType for Option { - fn dhall_type() -> DhallExpr { - let t = T::dhall_type(); +impl Type for Option { + fn get_type() -> DhallExpr { + let t = T::get_type(); dhall_expr!(Optional t) } } -impl DhallType for Vec { - fn dhall_type() -> DhallExpr { - let t = T::dhall_type(); +impl Type for Vec { + fn get_type() -> DhallExpr { + let t = T::get_type(); dhall_expr!(List t) } } -impl<'a, T: DhallType> DhallType for &'a T { - fn dhall_type() -> DhallExpr { - T::dhall_type() +impl<'a, T: Type> Type for &'a T { + fn get_type() -> DhallExpr { + T::get_type() } } -impl DhallType for std::marker::PhantomData { - fn dhall_type() -> DhallExpr { +impl Type for std::marker::PhantomData { + fn get_type() -> DhallExpr { dhall_expr!({}) } } -impl DhallType for Result { - fn dhall_type() -> DhallExpr { - let tt = T::dhall_type(); - let te = E::dhall_type(); +impl Type for Result { + fn get_type() -> DhallExpr { + let tt = T::get_type(); + let te = E::get_type(); dhall_expr!(< Ok: tt | Err: te>) } } diff --git a/dhall/src/lib.rs b/dhall/src/lib.rs index c0c1d6f..0270103 100644 --- a/dhall/src/lib.rs +++ b/dhall/src/lib.rs @@ -13,7 +13,8 @@ pub mod binary; mod dhall_type; pub mod imports; pub mod typecheck; -pub use dhall_type::*; +pub use crate::dhall_type::*; +pub use dhall_generator::Type; pub use crate::imports::*; diff --git a/dhall/tests/dhall_type.rs b/dhall/tests/dhall_type.rs index 633d7c6..faece20 100644 --- a/dhall/tests/dhall_type.rs +++ b/dhall/tests/dhall_type.rs @@ -1,56 +1,56 @@ #![feature(proc_macro_hygiene)] -use dhall::*; -use dhall_generator::*; +use dhall::Type; +use dhall_generator::dhall_expr; #[test] fn test_dhall_type() { - assert_eq!(bool::dhall_type(), dhall_expr!(Bool)); - assert_eq!(String::dhall_type(), dhall_expr!(Text)); + assert_eq!(bool::get_type(), dhall_expr!(Bool)); + assert_eq!(String::get_type(), dhall_expr!(Text)); assert_eq!( - <(bool, Option)>::dhall_type(), + <(bool, Option)>::get_type(), dhall_expr!({ _1: Bool, _2: Optional Text }) ); - #[derive(DhallType)] + #[derive(dhall::Type)] #[allow(dead_code)] struct A { field1: bool, field2: Option, } assert_eq!( - A::dhall_type(), + ::get_type(), dhall_expr!({ field1: Bool, field2: Optional Bool }) ); - #[derive(DhallType)] + #[derive(Type)] #[allow(dead_code)] struct B<'a, T: 'a> { field1: &'a T, field2: Option, } - assert_eq!(>::dhall_type(), A::dhall_type()); + assert_eq!(>::get_type(), A::get_type()); - #[derive(DhallType)] + #[derive(Type)] #[allow(dead_code)] struct C(T, Option); assert_eq!( - >::dhall_type(), - <(bool, Option)>::dhall_type() + >::get_type(), + <(bool, Option)>::get_type() ); - #[derive(DhallType)] + #[derive(Type)] #[allow(dead_code)] struct D(); assert_eq!( - >::dhall_type(), + >::get_type(), dhall_expr!({ _1: {}, _2: Optional Text }) ); - #[derive(DhallType)] + #[derive(Type)] #[allow(dead_code)] enum E { A(T), B(String), }; - assert_eq!(>::dhall_type(), dhall_expr!(< A: Bool | B: Text >)); + assert_eq!(>::get_type(), dhall_expr!(< A: Bool | B: Text >)); } -- cgit v1.2.3