diff options
| author | Vincent Prouillet | 2017-01-17 17:32:25 +0900 |
|---|---|---|
| committer | Vincent Prouillet | 2017-01-17 17:32:25 +0900 |
| commit | 76bf48f925bbddfc3bbd32eaea0d2e87b0ab07aa (patch) | |
| tree | 5c093b074bae75489ccc3487f5864e7f9dfb601d /validator_derive/src | |
| parent | ade9820f497d678296530bbf13bb4de46253d0fe (diff) | |
| download | validator-76bf48f925bbddfc3bbd32eaea0d2e87b0ab07aa.tar.bz2 | |
Remove need for attr_literals
Diffstat (limited to 'validator_derive/src')
| -rw-r--r-- | validator_derive/src/lib.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/validator_derive/src/lib.rs b/validator_derive/src/lib.rs index 92f3ea5..fd02e3d 100644 --- a/validator_derive/src/lib.rs +++ b/validator_derive/src/lib.rs @@ -526,6 +526,8 @@ fn lit_to_string(lit: &syn::Lit) -> Option<String> { fn lit_to_int(lit: &syn::Lit) -> Option<u64> { match *lit { syn::Lit::Int(ref s, _) => Some(*s), + // TODO: remove when attr_literals is stable + syn::Lit::Str(ref s, _) => Some(s.parse::<u64>().unwrap()), _ => None, } } @@ -534,6 +536,8 @@ fn lit_to_float(lit: &syn::Lit) -> Option<f64> { match *lit { syn::Lit::Float(ref s, _) => Some(s.parse::<f64>().unwrap()), syn::Lit::Int(ref s, _) => Some(*s as f64), + // TODO: remove when attr_literals is stable + syn::Lit::Str(ref s, _) => Some(s.parse::<f64>().unwrap()), _ => None, } } @@ -541,6 +545,7 @@ fn lit_to_float(lit: &syn::Lit) -> Option<f64> { fn lit_to_bool(lit: &syn::Lit) -> Option<bool> { match *lit { syn::Lit::Bool(ref s) => Some(*s), + syn::Lit::Str(ref s, _) => if s == "true" { Some(true) } else { Some(false) }, _ => None, } } |
