From 8ca1fe94d779dcccf4b3f4c23a08f3ede7e10956 Mon Sep 17 00:00:00 2001 From: Bastien Orivel Date: Sun, 18 Mar 2018 23:38:38 +0100 Subject: 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. --- validator_derive/src/quoting.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'validator_derive/src') 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 { -- cgit v1.2.3