From ea919a4edfdfc62af0f84a3f796a2c072d469e8a Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Sat, 3 Oct 2020 20:33:03 +0300 Subject: [PATCH] `mem::replace` -> `mem::take` --- src/bindgen/ir/function.rs | 2 +- src/bindgen/ir/item.rs | 10 ++++++---- src/bindgen/monomorph.rs | 10 +++++----- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/bindgen/ir/function.rs b/src/bindgen/ir/function.rs index 8cc746e..9966ff3 100644 --- a/src/bindgen/ir/function.rs +++ b/src/bindgen/ir/function.rs @@ -167,7 +167,7 @@ impl Function { .unwrap_or(config.function.rename_args); if let Some(r) = rules.not_none() { - let args = std::mem::replace(&mut self.args, vec![]); + let args = std::mem::take(&mut self.args); self.args = args .into_iter() .map(|arg| { diff --git a/src/bindgen/ir/item.rs b/src/bindgen/ir/item.rs index 57ac7fc..c009e64 100644 --- a/src/bindgen/ir/item.rs +++ b/src/bindgen/ir/item.rs @@ -78,15 +78,17 @@ pub struct ItemMap { data: IndexMap>, } -impl ItemMap { - pub fn default() -> ItemMap { +impl Default for ItemMap { + fn default() -> ItemMap { ItemMap { data: Default::default(), } } +} +impl ItemMap { pub fn rebuild(&mut self) { - let old = mem::replace(self, ItemMap::default()); + let old = mem::take(self); old.for_all_items(|x| { self.try_insert(x.clone()); }); @@ -150,7 +152,7 @@ impl ItemMap { where F: Fn(&T) -> bool, { - let data = mem::replace(&mut self.data, Default::default()); + let data = mem::take(&mut self.data); for (name, container) in data { match container { diff --git a/src/bindgen/monomorph.rs b/src/bindgen/monomorph.rs index c9c50d5..c203cb4 100644 --- a/src/bindgen/monomorph.rs +++ b/src/bindgen/monomorph.rs @@ -87,22 +87,22 @@ impl Monomorphs { } pub fn drain_opaques(&mut self) -> Vec { - mem::replace(&mut self.opaques, Vec::new()) + mem::take(&mut self.opaques) } pub fn drain_structs(&mut self) -> Vec { - mem::replace(&mut self.structs, Vec::new()) + mem::take(&mut self.structs) } pub fn drain_unions(&mut self) -> Vec { - mem::replace(&mut self.unions, Vec::new()) + mem::take(&mut self.unions) } pub fn drain_typedefs(&mut self) -> Vec { - mem::replace(&mut self.typedefs, Vec::new()) + mem::take(&mut self.typedefs) } pub fn drain_enums(&mut self) -> Vec { - mem::replace(&mut self.enums, Vec::new()) + mem::take(&mut self.enums) } }