style: Inline DomDescendants. draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Mon, 30 Oct 2017 19:28:11 +0100
changeset 690496 ea49bbcecea1e5b9bfbceb7292e470c237a37f95
parent 690495 1d405550746833a50385a679d1c221ca9e668ed1
child 690497 988e618369eadbc6e7d0ef2e387edaaf4c8279a6
push id87312
push userbmo:emilio@crisal.io
push dateThu, 02 Nov 2017 01:46:03 +0000
milestone58.0a1
style: Inline DomDescendants. MozReview-Commit-ID: HeBxicDHlzt
servo/components/style/dom.rs
--- a/servo/components/style/dom.rs
+++ b/servo/components/style/dom.rs
@@ -117,16 +117,17 @@ pub struct DomDescendants<N> {
 }
 
 impl<N> Iterator for DomDescendants<N>
 where
     N: TNode
 {
     type Item = N;
 
+    #[inline]
     fn next(&mut self) -> Option<N> {
         let prev = match self.previous.take() {
             None => return None,
             Some(n) => n,
         };
 
         self.previous = prev.next_in_preorder(Some(self.scope));
         self.previous
@@ -200,16 +201,17 @@ pub trait TNode : Sized + Copy + Clone +
         DomDescendants {
             previous: Some(*self),
             scope: *self,
         }
     }
 
     /// Returns the next children in pre-order, optionally scoped to a subtree
     /// root.
+    #[inline]
     fn next_in_preorder(&self, scoped_to: Option<Self>) -> Option<Self> {
         if let Some(c) = self.first_child() {
             return Some(c);
         }
 
         if Some(*self) == scoped_to {
             return None;
         }