From 04fbc5f6e8d4b2ff5de1fb3d58dbccda9fcc8aff Mon Sep 17 00:00:00 2001 From: Eh2406 Date: Fri, 6 Apr 2018 12:38:41 -0400 Subject: [PATCH] use make_mut for cleaner code --- src/cargo/core/resolver/context.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/cargo/core/resolver/context.rs b/src/cargo/core/resolver/context.rs index f132463e3c8..2c2281d6107 100644 --- a/src/cargo/core/resolver/context.rs +++ b/src/cargo/core/resolver/context.rs @@ -68,9 +68,7 @@ impl Context { &*link ); } - let mut inner: Vec<_> = (**prev).clone(); - inner.push(summary.clone()); - *prev = Rc::new(inner); + Rc::make_mut(prev).push(summary.clone()); return Ok(false); } debug!("checking if {} is already activated", summary.package_id()); @@ -246,15 +244,13 @@ impl Context { if !reqs.used.is_empty() { let pkgid = s.package_id(); - let set = self.resolve_features + let set = Rc::make_mut(self.resolve_features .entry(pkgid.clone()) - .or_insert_with(|| Rc::new(HashSet::new())); + .or_insert_with(|| Rc::new(HashSet::new()))); - let mut inner: HashSet<_> = (**set).clone(); for feature in reqs.used { - inner.insert(InternedString::new(feature)); + set.insert(InternedString::new(feature)); } - *set = Rc::new(inner); } Ok(ret)