Skip to content

Commit 4759eb0

Browse files
committed
servo: Merge #17605 - Replace remaining usage of deprecated Range::step_by (from servo:maybereverse); r=nox
… which is being removed in rust-lang/rust#43012 Source-Repo: https://github.com/servo/servo Source-Revision: 5baea7b73223283b551cf378bb714491a2383c28
1 parent 6b1a200 commit 4759eb0

File tree

3 files changed

+21
-7
lines changed

3 files changed

+21
-7
lines changed

servo/components/layout/inline.rs

+21-5
Original file line numberDiff line numberDiff line change
@@ -962,13 +962,29 @@ impl InlineFlow {
962962
Some(ref runs) => runs[run_count - run_idx - 1], // reverse order for RTL runs
963963
None => (line.range, bidi::Level::ltr())
964964
};
965+
966+
struct MaybeReverse<I> {
967+
iter: I,
968+
reverse: bool,
969+
}
970+
971+
impl<I: DoubleEndedIterator> Iterator for MaybeReverse<I> {
972+
type Item = I::Item;
973+
974+
fn next(&mut self) -> Option<I::Item> {
975+
if self.reverse {
976+
self.iter.next_back()
977+
} else {
978+
self.iter.next()
979+
}
980+
}
981+
}
982+
965983
// If the bidi embedding direction is opposite the layout direction, lay out this
966984
// run in reverse order.
967-
let reverse = level.is_ltr() != is_ltr;
968-
let fragment_indices = if reverse {
969-
(range.end().get() - 1..range.begin().get() - 1).step_by(-1)
970-
} else {
971-
(range.begin().get()..range.end().get()).step_by(1)
985+
let fragment_indices = MaybeReverse {
986+
iter: range.begin().get()..range.end().get(),
987+
reverse: level.is_ltr() != is_ltr,
972988
};
973989

974990
for fragment_index in fragment_indices {

servo/components/layout/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#![feature(conservative_impl_trait)]
99
#![feature(nonzero)]
1010
#![feature(raw)]
11-
#![feature(step_by)]
1211

1312
extern crate app_units;
1413
extern crate atomic_refcell;

servo/components/selectors/parser.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1572,7 +1572,6 @@ pub mod tests {
15721572
use builder::HAS_PSEUDO_BIT;
15731573
use cssparser::{Parser as CssParser, ToCss, serialize_identifier, ParserInput};
15741574
use parser;
1575-
use std::borrow::Cow;
15761575
use std::collections::HashMap;
15771576
use std::fmt;
15781577
use super::*;

0 commit comments

Comments
 (0)