From f301e09e02334c936a9fb95c4bc485a359506aa2 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Thu, 9 Mar 2023 00:20:51 -0800 Subject: [PATCH] Simplify parsing of where-predicates in bound attribute --- serde_derive/src/internals/attr.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/serde_derive/src/internals/attr.rs b/serde_derive/src/internals/attr.rs index 9fd3ef25..6bd50e90 100644 --- a/serde_derive/src/internals/attr.rs +++ b/serde_derive/src/internals/attr.rs @@ -1627,11 +1627,9 @@ fn parse_lit_into_where( ) -> Result, ()> { let string = get_lit_str2(cx, attr_name, meta_item_name, lit)?; - let where_string = syn::LitStr::new(&format!("where {}", string.value()), string.span()); - - where_string - .parse::() - .map(|wh| wh.predicates.into_iter().collect()) + string + .parse_with(Punctuated::::parse_terminated) + .map(|predicates| predicates.into_iter().collect()) .map_err(|err| cx.error_spanned_by(lit, err)) }