aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive/src/quoting.rs
diff options
context:
space:
mode:
authorBastien Orivel2018-03-18 23:38:38 +0100
committerBastien Orivel2018-03-18 23:38:38 +0100
commit8ca1fe94d779dcccf4b3f4c23a08f3ede7e10956 (patch)
tree3613384d280a666e096ba880e667b638083beba4 /validator_derive/src/quoting.rs
parent6ce2d3a5264fb337d9a8b5f365fc98387baafa8a (diff)
downloadvalidator-8ca1fe94d779dcccf4b3f4c23a08f3ede7e10956.tar.bz2
Fix path parsing for custom validators
`::foo::bar` isn't a valid ident in syn 0.12. This lead to some code failing to compile if it was using paths as custom validators. This fixes it and adds a test.
Diffstat (limited to 'validator_derive/src/quoting.rs')
-rw-r--r--validator_derive/src/quoting.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/validator_derive/src/quoting.rs b/validator_derive/src/quoting.rs
index bf2a531..028e864 100644
--- a/validator_derive/src/quoting.rs
+++ b/validator_derive/src/quoting.rs
@@ -250,7 +250,7 @@ pub fn quote_custom_validation(field_quoter: &FieldQuoter, validation: &FieldVal
let validator_param = field_quoter.quote_validator_param();
if let Validator::Custom(ref fun) = validation.validator {
- let fn_ident = syn::Ident::from(fun.clone());
+ let fn_ident: syn::Path = syn::parse_str(fun).unwrap();
let add_message_quoted = if let Some(ref m) = validation.message {
quote!(err.message = Some(::std::borrow::Cow::from(#m));)
} else {