From 4c6cb6e359050e31b08fc16edfb106b810872c85 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Wed, 3 Apr 2019 09:40:21 -0700 Subject: [PATCH] Match on serde_path to handle Some(path) and None I find this a bit easier to follow than map + unwrap_or_else. --- serde_derive/src/dummy.rs | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/serde_derive/src/dummy.rs b/serde_derive/src/dummy.rs index f77cbbe5..90a3514c 100644 --- a/serde_derive/src/dummy.rs +++ b/serde_derive/src/dummy.rs @@ -16,20 +16,17 @@ pub fn wrap_in_const( Span::call_site(), ); - let use_serde = serde_path - .map(|path| { - quote! { - use #path as _serde; - } - }) - .unwrap_or_else(|| { - quote! { - #[allow(unknown_lints)] - #[cfg_attr(feature = "cargo-clippy", allow(useless_attribute))] - #[allow(rust_2018_idioms)] - extern crate serde as _serde; - } - }); + let use_serde = match serde_path { + Some(path) => quote! { + use #path as _serde; + }, + None => quote! { + #[allow(unknown_lints)] + #[cfg_attr(feature = "cargo-clippy", allow(useless_attribute))] + #[allow(rust_2018_idioms)] + extern crate serde as _serde; + }, + }; quote! { #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]