Auto merge of #13691 - servo:mem-replace, r=emilio

Use mem::replace in take_pseudo_styles.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13691)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-10-12 04:49:22 -05:00 committed by GitHub
commit 494a89c27f

View file

@ -52,7 +52,7 @@ use selectors::matching::ElementFlags;
use selectors::parser::{AttrSelector, NamespaceConstraint}; use selectors::parser::{AttrSelector, NamespaceConstraint};
use std::fmt; use std::fmt;
use std::marker::PhantomData; use std::marker::PhantomData;
use std::mem::transmute; use std::mem::{replace, transmute};
use std::sync::Arc; use std::sync::Arc;
use std::sync::atomic::Ordering; use std::sync::atomic::Ordering;
use string_cache::{Atom, Namespace}; use string_cache::{Atom, Namespace};
@ -251,10 +251,7 @@ impl<'ln> TNode for ServoLayoutNode<'ln> {
} }
fn take_pseudo_styles(&self) -> PseudoStyles { fn take_pseudo_styles(&self) -> PseudoStyles {
use std::mem; replace(&mut self.mutate_data().unwrap().per_pseudo, PseudoStyles::default())
let mut tmp = PseudoStyles::default();
mem::swap(&mut tmp, &mut self.mutate_data().unwrap().per_pseudo);
tmp
} }
fn set_pseudo_styles(&self, styles: PseudoStyles) { fn set_pseudo_styles(&self, styles: PseudoStyles) {