Skip to content

Commit

Permalink
style: Iterate in the expected order in the custom_properties module.
Browse files Browse the repository at this point in the history
In servo#18745, I replaced a few manual iterations over `index` with the iterator,
and it changed the behavior of `layout/style/test/test_variables_order.html`,
since it turns out that the iterator iterates right to left.

I think this is just an accident that happened due to inconsistencies in how we
were iterating over it, and that our behavior was inconsistent (since we
iterated rtl in some cases, but ltr in others seems like it'd be inconsistent
depending on the depth of the tree and different stuff).

This brings back the expected behavior again, and ensures we iterate over a
consistent order every time.
  • Loading branch information
emilio committed Oct 5, 2017
1 parent 9bf299b commit 7249733
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions components/style/custom_properties.rs
Expand Up @@ -190,14 +190,14 @@ where
type Item = (&'a K, &'a V);

fn next(&mut self) -> Option<Self::Item> {
let ref index = self.inner.index;
if self.pos >= index.len() {
return None;
}
let key = match self.inner.index.get(self.pos) {
Some(k) => k,
None => return None,
};

let ref key = index[index.len() - self.pos - 1];
self.pos += 1;
let value = &self.inner.values[key];

Some((key, value))
}
}
Expand Down

0 comments on commit 7249733

Please sign in to comment.