diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-04-24 12:29:31 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-04-24 12:29:31 +0200 |
commit | 39c3321f86e6360d249d207f32ae3c7b41f44cd3 (patch) | |
tree | 19a6ebe49df03d0b66c471071d4d9862295fd09c /src/buildable.rs | |
parent | c3b6b537e0afcab444e5558bd3e96e9da3940fdc (diff) |
Implement interfaces for all simple types
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/buildable.rs')
-rw-r--r-- | src/buildable.rs | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/src/buildable.rs b/src/buildable.rs index 718ca73..d1d2572 100644 --- a/src/buildable.rs +++ b/src/buildable.rs @@ -18,3 +18,147 @@ impl BuildableValue for bool { } } +impl BuildableValue for u8 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u8, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.u8_builder() + } +} + +impl BuildableValue for u16 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u16, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.u16_builder() + } +} + +impl BuildableValue for u32 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u32, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.u32_builder() + } +} + +impl BuildableValue for u64 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u64, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.u64_builder() + } +} + +impl BuildableValue for u128 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = u128, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.u128_builder() + } +} + +impl BuildableValue for i8 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i8, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.i8_builder() + } +} + +impl BuildableValue for i16 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i16, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.i16_builder() + } +} + +impl BuildableValue for i32 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i32, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.i32_builder() + } +} + +impl BuildableValue for i64 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i64, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.i64_builder() + } +} + +impl BuildableValue for i128 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = i128, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.i128_builder() + } +} + +impl BuildableValue for usize { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = usize, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.usize_builder() + } +} + +impl BuildableValue for isize { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = isize, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.isize_builder() + } +} + +impl BuildableValue for f32 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = f32, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.f32_builder() + } +} + +impl BuildableValue for f64 { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = f64, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.f64_builder() + } +} + +impl BuildableValue for char { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = char, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.char_builder() + } +} + +impl BuildableValue for String { + fn builder<E, B>(backend: B) -> Box<dyn ValueBuilder<Output = String, Error = E>> + where E: Sized, + B: Backend<Error = E> + { + backend.string_builder() + } +} + |