From 56be1c203e8425b7c54b4206101850d9d70044c8 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Sun, 15 Dec 2019 19:11:46 +0100 Subject: [PATCH] Pass RenameRule, RenameAllRules by value --- serde_derive/src/internals/ast.rs | 2 +- serde_derive/src/internals/attr.rs | 22 +++++++++++----------- serde_derive/src/internals/case.rs | 14 +++++++------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/serde_derive/src/internals/ast.rs b/serde_derive/src/internals/ast.rs index 509658a45..75b28c969 100644 --- a/serde_derive/src/internals/ast.rs +++ b/serde_derive/src/internals/ast.rs @@ -89,7 +89,7 @@ impl<'a> Container<'a> { has_flatten = true; } field.attrs.rename_by_rules( - &variant + variant .attrs .rename_all_rules() .or(attrs.rename_all_fields_rules()), diff --git a/serde_derive/src/internals/attr.rs b/serde_derive/src/internals/attr.rs index c03517c05..133299564 100644 --- a/serde_derive/src/internals/attr.rs +++ b/serde_derive/src/internals/attr.rs @@ -202,10 +202,10 @@ pub struct RenameAllRules { impl RenameAllRules { /// Returns a new `RenameAllRules` with the individual rules of `self` and /// `other_rules` joined by `RenameRules::or`. - pub fn or(&self, other_rules: &Self) -> Self { + pub fn or(self, other_rules: Self) -> Self { Self { - serialize: self.serialize.or(&other_rules.serialize), - deserialize: self.deserialize.or(&other_rules.deserialize), + serialize: self.serialize.or(other_rules.serialize), + deserialize: self.deserialize.or(other_rules.deserialize), } } } @@ -604,12 +604,12 @@ impl Container { &self.name } - pub fn rename_all_rules(&self) -> &RenameAllRules { - &self.rename_all_rules + pub fn rename_all_rules(&self) -> RenameAllRules { + self.rename_all_rules } - pub fn rename_all_fields_rules(&self) -> &RenameAllRules { - &self.rename_all_fields_rules + pub fn rename_all_fields_rules(&self) -> RenameAllRules { + self.rename_all_fields_rules } pub fn transparent(&self) -> bool { @@ -982,7 +982,7 @@ impl Variant { self.name.deserialize_aliases() } - pub fn rename_by_rules(&mut self, rules: &RenameAllRules) { + pub fn rename_by_rules(&mut self, rules: RenameAllRules) { if !self.name.serialize_renamed { self.name.serialize = rules.serialize.apply_to_variant(&self.name.serialize); } @@ -991,8 +991,8 @@ impl Variant { } } - pub fn rename_all_rules(&self) -> &RenameAllRules { - &self.rename_all_rules + pub fn rename_all_rules(&self) -> RenameAllRules { + self.rename_all_rules } pub fn ser_bound(&self) -> Option<&[syn::WherePredicate]> { @@ -1321,7 +1321,7 @@ impl Field { self.name.deserialize_aliases() } - pub fn rename_by_rules(&mut self, rules: &RenameAllRules) { + pub fn rename_by_rules(&mut self, rules: RenameAllRules) { if !self.name.serialize_renamed { self.name.serialize = rules.serialize.apply_to_field(&self.name.serialize); } diff --git a/serde_derive/src/internals/case.rs b/serde_derive/src/internals/case.rs index 51ee9efbe..e769462cd 100644 --- a/serde_derive/src/internals/case.rs +++ b/serde_derive/src/internals/case.rs @@ -59,8 +59,8 @@ impl RenameRule { } /// Apply a renaming rule to an enum variant, returning the version expected in the source. - pub fn apply_to_variant(&self, variant: &str) -> String { - match *self { + pub fn apply_to_variant(self, variant: &str) -> String { + match self { None | PascalCase => variant.to_owned(), LowerCase => variant.to_ascii_lowercase(), UpperCase => variant.to_ascii_uppercase(), @@ -84,8 +84,8 @@ impl RenameRule { } /// Apply a renaming rule to a struct field, returning the version expected in the source. - pub fn apply_to_field(&self, field: &str) -> String { - match *self { + pub fn apply_to_field(self, field: &str) -> String { + match self { None | LowerCase | SnakeCase => field.to_owned(), UpperCase => field.to_ascii_uppercase(), PascalCase => { @@ -114,10 +114,10 @@ impl RenameRule { } /// Returns the `RenameRule` if it is not `None`, `rule_b` otherwise. - pub fn or(&self, rule_b: &Self) -> Self { + pub fn or(self, rule_b: Self) -> Self { match self { - None => *rule_b, - _ => *self, + None => rule_b, + _ => self, } } }