From fce3d8546bd619964ec5dd1594cd93e744a99521 Mon Sep 17 00:00:00 2001 From: Diego Barrios Romero Date: Sun, 11 Nov 2018 17:32:52 +0100 Subject: Implement value conversions over type parameter --- src/ic.rs | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) (limited to 'src/ic.rs') diff --git a/src/ic.rs b/src/ic.rs index 7b30f85..a09cb72 100644 --- a/src/ic.rs +++ b/src/ic.rs @@ -1,32 +1,23 @@ /// ICs use private; -#[derive(PartialEq)] -pub enum ResolutionBits { - _12, - _16 -} +pub struct Resolution12Bit(pub(crate)()); +pub struct Resolution16Bit(pub(crate)()); -pub trait Resolution : private::Sealed { - const BITS : ResolutionBits; -} macro_rules! ic_marker { - ($name:ident, $resolution:ident) => { + ($name:ident) => { /// IC marker pub struct $name(()); - impl Resolution for $name { - const BITS: ResolutionBits = ResolutionBits::$resolution; - } }; } -ic_marker!(Ads1013, _12); -ic_marker!(Ads1113, _16); -ic_marker!(Ads1014, _12); -ic_marker!(Ads1114, _16); -ic_marker!(Ads1015, _12); -ic_marker!(Ads1115, _16); +ic_marker!(Ads1013); +ic_marker!(Ads1113); +ic_marker!(Ads1014); +ic_marker!(Ads1114); +ic_marker!(Ads1015); +ic_marker!(Ads1115); pub trait Tier2Features : private::Sealed { } -- cgit v1.2.3-54-g00ecf