Skip to content

Commit 5f63be6

Browse files
committed
Auto merge of #8314 - cuviper:mem-take, r=Eh2406
Use mem::take to replace with Default values
2 parents ebe57ad + 6a6fa36 commit 5f63be6

File tree

5 files changed

+6
-16
lines changed

5 files changed

+6
-16
lines changed

src/cargo/core/compiler/unit_dependencies.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,7 @@ fn calc_deps_of_std(
119119
deps_of_roots(roots, &mut state)?;
120120
}
121121
state.is_std = false;
122-
Ok(Some(std::mem::replace(
123-
&mut state.unit_dependencies,
124-
HashMap::new(),
125-
)))
122+
Ok(Some(std::mem::take(&mut state.unit_dependencies)))
126123
}
127124

128125
/// Add the standard library units to the `unit_dependencies`.

src/cargo/core/package.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -735,7 +735,7 @@ impl<'a, 'cfg> Downloads<'a, 'cfg> {
735735
.pending
736736
.remove(&token)
737737
.expect("got a token for a non-in-progress transfer");
738-
let data = mem::replace(&mut *dl.data.borrow_mut(), Vec::new());
738+
let data = mem::take(&mut *dl.data.borrow_mut());
739739
let mut handle = self.set.multi.remove(handle)?;
740740
self.pending_ids.remove(&dl.id);
741741

src/cargo/core/summary.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@ impl Summary {
115115
{
116116
{
117117
let slot = &mut Rc::make_mut(&mut self.inner).dependencies;
118-
let deps = mem::replace(slot, Vec::new());
119-
*slot = deps.into_iter().map(f).collect();
118+
*slot = mem::take(slot).into_iter().map(f).collect();
120119
}
121120
self
122121
}

src/cargo/util/config/mod.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -1452,12 +1452,10 @@ impl ConfigValue {
14521452
fn merge(&mut self, from: ConfigValue, force: bool) -> CargoResult<()> {
14531453
match (self, from) {
14541454
(&mut CV::List(ref mut old, _), CV::List(ref mut new, _)) => {
1455-
let new = mem::replace(new, Vec::new());
1456-
old.extend(new.into_iter());
1455+
old.extend(mem::take(new).into_iter());
14571456
}
14581457
(&mut CV::Table(ref mut old, _), CV::Table(ref mut new, _)) => {
1459-
let new = mem::replace(new, HashMap::new());
1460-
for (key, value) in new {
1458+
for (key, value) in mem::take(new) {
14611459
match old.entry(key.clone()) {
14621460
Occupied(mut entry) => {
14631461
let new_def = value.definition().clone();

src/cargo/util/profile.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,7 @@ impl Drop for Profiler {
4848
let duration = start.elapsed();
4949
let duration_ms = duration.as_secs() * 1000 + u64::from(duration.subsec_millis());
5050

51-
let msg = (
52-
stack_len,
53-
duration_ms,
54-
mem::replace(&mut self.desc, String::new()),
55-
);
51+
let msg = (stack_len, duration_ms, mem::take(&mut self.desc));
5652
MESSAGES.with(|msgs| msgs.borrow_mut().push(msg));
5753

5854
if stack_len == 0 {

0 commit comments

Comments
 (0)