mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
Auto merge of #17605 - servo:maybereverse, r=nox
Replace remaining usage of deprecated Range::step_by … which is being removed in rust-lang/rust#43012 <!-- 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/17605) <!-- Reviewable:end -->
This commit is contained in:
commit
5baea7b732
3 changed files with 21 additions and 7 deletions
|
@ -962,13 +962,29 @@ impl InlineFlow {
|
||||||
Some(ref runs) => runs[run_count - run_idx - 1], // reverse order for RTL runs
|
Some(ref runs) => runs[run_count - run_idx - 1], // reverse order for RTL runs
|
||||||
None => (line.range, bidi::Level::ltr())
|
None => (line.range, bidi::Level::ltr())
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct MaybeReverse<I> {
|
||||||
|
iter: I,
|
||||||
|
reverse: bool,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<I: DoubleEndedIterator> Iterator for MaybeReverse<I> {
|
||||||
|
type Item = I::Item;
|
||||||
|
|
||||||
|
fn next(&mut self) -> Option<I::Item> {
|
||||||
|
if self.reverse {
|
||||||
|
self.iter.next_back()
|
||||||
|
} else {
|
||||||
|
self.iter.next()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// If the bidi embedding direction is opposite the layout direction, lay out this
|
// If the bidi embedding direction is opposite the layout direction, lay out this
|
||||||
// run in reverse order.
|
// run in reverse order.
|
||||||
let reverse = level.is_ltr() != is_ltr;
|
let fragment_indices = MaybeReverse {
|
||||||
let fragment_indices = if reverse {
|
iter: range.begin().get()..range.end().get(),
|
||||||
(range.end().get() - 1..range.begin().get() - 1).step_by(-1)
|
reverse: level.is_ltr() != is_ltr,
|
||||||
} else {
|
|
||||||
(range.begin().get()..range.end().get()).step_by(1)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
for fragment_index in fragment_indices {
|
for fragment_index in fragment_indices {
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#![feature(conservative_impl_trait)]
|
#![feature(conservative_impl_trait)]
|
||||||
#![feature(nonzero)]
|
#![feature(nonzero)]
|
||||||
#![feature(raw)]
|
#![feature(raw)]
|
||||||
#![feature(step_by)]
|
|
||||||
|
|
||||||
extern crate app_units;
|
extern crate app_units;
|
||||||
extern crate atomic_refcell;
|
extern crate atomic_refcell;
|
||||||
|
|
|
@ -1572,7 +1572,6 @@ pub mod tests {
|
||||||
use builder::HAS_PSEUDO_BIT;
|
use builder::HAS_PSEUDO_BIT;
|
||||||
use cssparser::{Parser as CssParser, ToCss, serialize_identifier, ParserInput};
|
use cssparser::{Parser as CssParser, ToCss, serialize_identifier, ParserInput};
|
||||||
use parser;
|
use parser;
|
||||||
use std::borrow::Cow;
|
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue