diff options
Diffstat (limited to 'src/implicit.rs')
-rw-r--r-- | src/implicit.rs | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/implicit.rs b/src/implicit.rs index 4344ea3..2bb3581 100644 --- a/src/implicit.rs +++ b/src/implicit.rs @@ -9,18 +9,17 @@ //! 3.3.4 - 3.3.6. Resolve implicit levels and types. -use std::cmp::max; +use core::cmp::max; +use alloc::vec::Vec; -use super::char_data::BidiClass; +use super::char_data::BidiClass::{self, *}; use super::prepare::{IsolatingRunSequence, LevelRun, not_removed_by_x9, removed_by_x9}; use super::level::Level; -use BidiClass::*; - /// 3.3.4 Resolving Weak Types /// /// <http://www.unicode.org/reports/tr9/#Resolving_Weak_Types> -#[cfg_attr(feature = "flame_it", flame)] +#[cfg_attr(feature = "flame_it", flamer::flame)] pub fn resolve_weak(sequence: &IsolatingRunSequence, processing_classes: &mut [BidiClass]) { // FIXME (#8): This function applies steps W1-W6 in a single pass. This can produce // incorrect results in cases where a "later" rule changes the value of `prev_class` seen @@ -135,7 +134,7 @@ pub fn resolve_weak(sequence: &IsolatingRunSequence, processing_classes: &mut [B /// 3.3.5 Resolving Neutral Types /// /// <http://www.unicode.org/reports/tr9/#Resolving_Neutral_Types> -#[cfg_attr(feature = "flame_it", flame)] +#[cfg_attr(feature = "flame_it", flamer::flame)] pub fn resolve_neutral( sequence: &IsolatingRunSequence, levels: &[Level], @@ -200,7 +199,7 @@ pub fn resolve_neutral( /// Returns the maximum embedding level in the paragraph. /// /// <http://www.unicode.org/reports/tr9/#Resolving_Implicit_Levels> -#[cfg_attr(feature = "flame_it", flame)] +#[cfg_attr(feature = "flame_it", flamer::flame)] pub fn resolve_levels(original_classes: &[BidiClass], levels: &mut [Level]) -> Level { let mut max_level = Level::ltr(); @@ -224,5 +223,8 @@ pub fn resolve_levels(original_classes: &[BidiClass], levels: &mut [Level]) -> L /// <http://www.unicode.org/reports/tr9/#NI> #[allow(non_snake_case)] fn is_NI(class: BidiClass) -> bool { - matches!(class, B | S | WS | ON | FSI | LRI | RLI | PDI) + match class { + B | S | WS | ON | FSI | LRI | RLI | PDI => true, + _ => false, + } } |