diff --git a/src/args.rs b/src/args.rs index 860c4ce..d45d5c2 100644 --- a/src/args.rs +++ b/src/args.rs @@ -41,6 +41,69 @@ impl From for Arg { } } +impl From for Arg { + #[inline] + fn from(u: u8) -> Self { + Arg::Number(u as f64) + } +} + +impl From for Arg { + #[inline] + fn from(u: u16) -> Self { + Arg::Number(u as f64) + } +} + +impl From for Arg { + #[inline] + fn from(u: u32) -> Self { + Arg::Number(u as f64) + } +} + +impl From for Arg { + #[inline] + fn from(u: u64) -> Self { + Arg::Number(u as f64) + } +} + +impl From for Arg { + #[inline] + fn from(i: i8) -> Self { + Arg::Number(i as f64) + } +} + +impl From for Arg { + #[inline] + fn from(i: i16) -> Self { + Arg::Number(i as f64) + } +} + +impl From for Arg { + #[inline] + fn from(i: i32) -> Self { + Arg::Number(i as f64) + } +} + +impl From for Arg { + #[inline] + fn from(i: i64) -> Self { + Arg::Number(i as f64) + } +} + +impl From for Arg { + #[inline] + fn from(n: f32) -> Self { + Arg::Number(n as f64) + } +} + impl From for Arg { #[inline] fn from(n: f64) -> Self { @@ -55,6 +118,20 @@ impl From for Arg { } } +impl From<&String> for Arg { + #[inline] + fn from(s: &String) -> Self { + Arg::String(s.to_owned()) + } +} + +impl From<&str> for Arg { + #[inline] + fn from(s: &str) -> Self { + Arg::String(s.to_owned()) + } +} + // Other types impl From for Arg {