diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-03-14 10:29:39 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-11-21 12:20:18 +0100 |
commit | f4424668191d1ae421127770eda1ad894dd01802 (patch) | |
tree | dc3e184343acf2c40ae1daae2c7f9ef94ef342a8 /src/de.rs | |
parent | e8cc94aaf6d44ad69cafe75d9a4a3944959103fe (diff) |
Add support for different sized integers
This also enables support for 128 bit integers.
Nothing is tested, though.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/de.rs')
-rw-r--r-- | src/de.rs | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -19,7 +19,11 @@ impl<'de> de::Deserializer<'de> for Value { // Deserialize based on the underlying type match self.kind { ValueKind::Nil => visitor.visit_unit(), - ValueKind::Integer(i) => visitor.visit_i64(i), + ValueKind::I8(i) => visitor.visit_i8(i), + ValueKind::I16(i) => visitor.visit_i16(i), + ValueKind::I32(i) => visitor.visit_i32(i), + ValueKind::I64(i) => visitor.visit_i64(i), + ValueKind::I128(i) => visitor.visit_i128(i), ValueKind::Boolean(b) => visitor.visit_bool(b), ValueKind::Float(f) => visitor.visit_f64(f), ValueKind::String(s) => visitor.visit_string(s), @@ -345,7 +349,11 @@ impl<'de> de::Deserializer<'de> for Config { // Deserialize based on the underlying type match self.cache.kind { ValueKind::Nil => visitor.visit_unit(), - ValueKind::Integer(i) => visitor.visit_i64(i), + ValueKind::I8(i) => visitor.visit_i8(i), + ValueKind::I16(i) => visitor.visit_i16(i), + ValueKind::I32(i) => visitor.visit_i32(i), + ValueKind::I64(i) => visitor.visit_i64(i), + ValueKind::I128(i) => visitor.visit_i128(i), ValueKind::Boolean(b) => visitor.visit_bool(b), ValueKind::Float(f) => visitor.visit_f64(f), ValueKind::String(s) => visitor.visit_string(s), |