From 5a24bb8652c64efd34b15b69377f5c30033d2370 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Sat, 20 Feb 2021 20:58:01 +0100 Subject: [PATCH] Move empty range function into algorithm utils --- src/algorithms/lcs.rs | 2 +- src/algorithms/mod.rs | 1 + src/algorithms/myers.rs | 2 +- src/algorithms/utils.rs | 7 +++++++ src/utils.rs | 6 ------ 5 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 src/algorithms/utils.rs diff --git a/src/algorithms/lcs.rs b/src/algorithms/lcs.rs index 6c60c1f..e48e550 100644 --- a/src/algorithms/lcs.rs +++ b/src/algorithms/lcs.rs @@ -6,8 +6,8 @@ use std::collections::BTreeMap; use std::ops::{Index, Range}; use std::time::Instant; +use crate::algorithms::utils::is_empty_range; use crate::algorithms::DiffHook; -use crate::utils::is_empty_range; /// Hunt–McIlroy / Hunt–Szymanski LCS diff algorithm. /// diff --git a/src/algorithms/mod.rs b/src/algorithms/mod.rs index 20136c4..23cf81c 100644 --- a/src/algorithms/mod.rs +++ b/src/algorithms/mod.rs @@ -36,6 +36,7 @@ mod capture; mod hook; mod replace; +mod utils; use std::hash::Hash; use std::ops::{Index, Range}; diff --git a/src/algorithms/myers.rs b/src/algorithms/myers.rs index c3117dd..9c9ddb7 100644 --- a/src/algorithms/myers.rs +++ b/src/algorithms/myers.rs @@ -22,8 +22,8 @@ use std::ops::{Index, IndexMut, Range}; use std::time::Instant; +use crate::algorithms::utils::is_empty_range; use crate::algorithms::DiffHook; -use crate::utils::is_empty_range; /// Myers' diff algorithm. /// diff --git a/src/algorithms/utils.rs b/src/algorithms/utils.rs new file mode 100644 index 0000000..6c0a693 --- /dev/null +++ b/src/algorithms/utils.rs @@ -0,0 +1,7 @@ +use std::ops::Range; + +/// Utility function to check if a range is empty that works on older rust versions +#[inline(always)] +pub(crate) fn is_empty_range(range: &Range) -> bool { + !(range.start < range.end) +} diff --git a/src/utils.rs b/src/utils.rs index 55708d6..1f8fdc9 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -401,12 +401,6 @@ pub fn diff_lines<'x, T: DiffableStrRef + ?Sized>( .collect() } -/// Utility function to check if a range is empty that works on older rust versions -#[inline(always)] -pub(crate) fn is_empty_range(range: &Range) -> bool { - !(range.start < range.end) -} - #[test] fn test_remapper() { let a = "foo bar baz";