From 3be7fa9d68b3cc006f4f10b9d591d1e5cfa1c130 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Thu, 20 Jun 2019 07:21:55 -0700 Subject: [PATCH 1/5] Some edition fixes --- scripts/unicode.py | 4 ++-- src/tables.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/unicode.py b/scripts/unicode.py index 693060a..91d3ed6 100755 --- a/scripts/unicode.py +++ b/scripts/unicode.py @@ -221,7 +221,7 @@ def emit_util_mod(f): #[inline] fn is_alphabetic(c: char) -> bool { match c { - 'a' ... 'z' | 'A' ... 'Z' => true, + 'a' ...\= 'z' | 'A' ..= 'Z' => true, c if c > '\x7f' => super::derived_property::Alphabetic(c), _ => false, } @@ -230,7 +230,7 @@ def emit_util_mod(f): #[inline] fn is_numeric(c: char) -> bool { match c { - '0' ... '9' => true, + '0' ..= '9' => true, c if c > '\x7f' => super::general_category::N(c), _ => false, } diff --git a/src/tables.rs b/src/tables.rs index f97b64c..12e1457 100644 --- a/src/tables.rs +++ b/src/tables.rs @@ -30,7 +30,7 @@ pub mod util { #[inline] fn is_alphabetic(c: char) -> bool { match c { - 'a' ... 'z' | 'A' ... 'Z' => true, + 'a' ..= 'z' | 'A' ..= 'Z' => true, c if c > '' => super::derived_property::Alphabetic(c), _ => false, } @@ -39,7 +39,7 @@ pub mod util { #[inline] fn is_numeric(c: char) -> bool { match c { - '0' ... '9' => true, + '0' ..= '9' => true, c if c > '' => super::general_category::N(c), _ => false, } From 7883b57489eb2209915d27b21fd006c72189b3da Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Thu, 20 Jun 2019 07:22:06 -0700 Subject: [PATCH 2/5] Run cargo fix --- src/grapheme.rs | 16 ++++++++-------- src/lib.rs | 10 +++++----- src/sentence.rs | 8 ++++---- src/test.rs | 6 +++--- src/word.rs | 12 ++++++------ 5 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/grapheme.rs b/src/grapheme.rs index 4412739..64fb141 100644 --- a/src/grapheme.rs +++ b/src/grapheme.rs @@ -10,7 +10,7 @@ use core::cmp; -use tables::grapheme::GraphemeCat; +use crate::tables::grapheme::GraphemeCat; /// External iterator for grapheme clusters and byte offsets. #[derive(Clone)] @@ -215,7 +215,7 @@ enum PairResult { } fn check_pair(before: GraphemeCat, after: GraphemeCat) -> PairResult { - use tables::grapheme::GraphemeCat::*; + use crate::tables::grapheme::GraphemeCat::*; use self::PairResult::*; match (before, after) { (GC_CR, GC_LF) => NotBreak, // GB3 @@ -348,7 +348,7 @@ impl GraphemeCursor { /// assert_eq!(cursor.is_boundary(&flags[8..], 8), Ok(true)); /// ``` pub fn provide_context(&mut self, chunk: &str, chunk_start: usize) { - use tables::grapheme as gr; + use crate::tables::grapheme as gr; assert!(chunk_start + chunk.len() == self.pre_context_offset.unwrap()); self.pre_context_offset = None; if self.is_extended && chunk_start + chunk.len() == self.offset { @@ -394,7 +394,7 @@ impl GraphemeCursor { } fn handle_regional(&mut self, chunk: &str, chunk_start: usize) { - use tables::grapheme as gr; + use crate::tables::grapheme as gr; let mut ris_count = self.ris_count.unwrap_or(0); for ch in chunk.chars().rev() { if gr::grapheme_category(ch) != gr::GC_Regional_Indicator { @@ -414,7 +414,7 @@ impl GraphemeCursor { } fn handle_emoji(&mut self, chunk: &str, chunk_start: usize) { - use tables::grapheme as gr; + use crate::tables::grapheme as gr; for ch in chunk.chars().rev() { match gr::grapheme_category(ch) { gr::GC_Extend => (), @@ -460,7 +460,7 @@ impl GraphemeCursor { /// assert_eq!(cursor.is_boundary(flags, 0), Ok(false)); /// ``` pub fn is_boundary(&mut self, chunk: &str, chunk_start: usize) -> Result { - use tables::grapheme as gr; + use crate::tables::grapheme as gr; if self.state == GraphemeState::Break { return Ok(true) } @@ -550,7 +550,7 @@ impl GraphemeCursor { /// assert_eq!(cursor.next_boundary(&s[2..4], 2), Ok(None)); /// ``` pub fn next_boundary(&mut self, chunk: &str, chunk_start: usize) -> Result, GraphemeIncomplete> { - use tables::grapheme as gr; + use crate::tables::grapheme as gr; if self.offset == self.len { return Ok(None); } @@ -626,7 +626,7 @@ impl GraphemeCursor { /// assert_eq!(cursor.prev_boundary(&s[0..2], 0), Ok(None)); /// ``` pub fn prev_boundary(&mut self, chunk: &str, chunk_start: usize) -> Result, GraphemeIncomplete> { - use tables::grapheme as gr; + use crate::tables::grapheme as gr; if self.offset == 0 { return Ok(None); } diff --git a/src/lib.rs b/src/lib.rs index 78a0b6f..589ac4c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -63,11 +63,11 @@ extern crate std; #[macro_use] extern crate quickcheck; -pub use grapheme::{Graphemes, GraphemeIndices}; -pub use grapheme::{GraphemeCursor, GraphemeIncomplete}; -pub use tables::UNICODE_VERSION; -pub use word::{UWordBounds, UWordBoundIndices, UnicodeWords}; -pub use sentence::{USentenceBounds, USentenceBoundIndices, UnicodeSentences}; +pub use crate::grapheme::{Graphemes, GraphemeIndices}; +pub use crate::grapheme::{GraphemeCursor, GraphemeIncomplete}; +pub use crate::tables::UNICODE_VERSION; +pub use crate::word::{UWordBounds, UWordBoundIndices, UnicodeWords}; +pub use crate::sentence::{USentenceBounds, USentenceBoundIndices, UnicodeSentences}; mod grapheme; mod tables; diff --git a/src/sentence.rs b/src/sentence.rs index c16c927..02ed66c 100644 --- a/src/sentence.rs +++ b/src/sentence.rs @@ -13,7 +13,7 @@ use core::iter::Filter; // All of the logic for forward iteration over sentences mod fwd { - use tables::sentence::SentenceCat; + use crate::tables::sentence::SentenceCat; use core::cmp; // Describe a parsed part of source string as described in this table: @@ -111,7 +111,7 @@ mod fwd { if parts[idx] == StatePart::ClosePlus { idx -= 1 } if parts[idx] == StatePart::ATerm { - use tables::sentence as se; + use crate::tables::sentence as se; for next_char in ahead.chars() { //( ¬(OLetter | Upper | Lower | ParaSep | SATerm) )* Lower @@ -176,7 +176,7 @@ mod fwd { #[inline] fn next(&mut self) -> Option { - use tables::sentence as se; + use crate::tables::sentence as se; for next_char in self.string[self.pos..].chars() { let position_before = self.pos; @@ -313,7 +313,7 @@ pub fn new_sentence_bound_indices<'a>(source: &'a str) -> USentenceBoundIndices< #[inline] pub fn new_unicode_sentences<'b>(s: &'b str) -> UnicodeSentences<'b> { use super::UnicodeSegmentation; - use tables::util::is_alphanumeric; + use crate::tables::util::is_alphanumeric; fn has_alphanumeric(s: &&str) -> bool { s.chars().any(|c| is_alphanumeric(c)) } let has_alphanumeric: fn(&&str) -> bool = has_alphanumeric; // coerce to fn pointer diff --git a/src/test.rs b/src/test.rs index ad65a7f..e9b80ca 100644 --- a/src/test.rs +++ b/src/test.rs @@ -14,7 +14,7 @@ use std::prelude::v1::*; #[test] fn test_graphemes() { - use testdata::{TEST_SAME, TEST_DIFF}; + use crate::testdata::{TEST_SAME, TEST_DIFF}; pub const EXTRA_DIFF: &'static [(&'static str, &'static [&'static str], @@ -88,7 +88,7 @@ fn test_graphemes() { #[test] fn test_words() { - use testdata::TEST_WORD; + use crate::testdata::TEST_WORD; // Unicode's official tests don't really test longer chains of flag emoji // TODO This could be improved with more tests like flag emoji with interspersed Extend chars and ZWJ @@ -144,7 +144,7 @@ fn test_words() { #[test] fn test_sentences() { - use testdata::TEST_SENTENCE; + use crate::testdata::TEST_SENTENCE; for &(s, w) in TEST_SENTENCE.iter() { macro_rules! assert_ { diff --git a/src/word.rs b/src/word.rs index 436582c..3aa7c8b 100644 --- a/src/word.rs +++ b/src/word.rs @@ -11,7 +11,7 @@ use core::cmp; use core::iter::Filter; -use tables::word::WordCat; +use crate::tables::word::WordCat; /// An iterator over the substrings of a string which, after splitting the string on /// [word boundaries](http://www.unicode.org/reports/tr29/#Word_Boundaries), @@ -135,7 +135,7 @@ impl<'a> Iterator for UWordBounds<'a> { fn next(&mut self) -> Option<&'a str> { use self::UWordBoundsState::*; use self::FormatExtendType::*; - use tables::word as wd; + use crate::tables::word as wd; if self.string.len() == 0 { return None; } @@ -364,7 +364,7 @@ impl<'a> DoubleEndedIterator for UWordBounds<'a> { fn next_back(&mut self) -> Option<&'a str> { use self::UWordBoundsState::*; use self::FormatExtendType::*; - use tables::word as wd; + use crate::tables::word as wd; if self.string.len() == 0 { return None; } @@ -605,7 +605,7 @@ impl<'a> UWordBounds<'a> { #[inline] fn get_next_cat(&self, idx: usize) -> Option { - use tables::word as wd; + use crate::tables::word as wd; let nidx = idx + self.string[idx..].chars().next().unwrap().len_utf8(); if nidx < self.string.len() { let nch = self.string[nidx..].chars().next().unwrap(); @@ -617,7 +617,7 @@ impl<'a> UWordBounds<'a> { #[inline] fn get_prev_cat(&self, idx: usize) -> Option { - use tables::word as wd; + use crate::tables::word as wd; if idx > 0 { let nch = self.string[..idx].chars().next_back().unwrap(); Some(wd::word_category(nch)) @@ -640,7 +640,7 @@ pub fn new_word_bound_indices<'b>(s: &'b str) -> UWordBoundIndices<'b> { #[inline] pub fn new_unicode_words<'b>(s: &'b str) -> UnicodeWords<'b> { use super::UnicodeSegmentation; - use tables::util::is_alphanumeric; + use crate::tables::util::is_alphanumeric; fn has_alphanumeric(s: &&str) -> bool { s.chars().any(|c| is_alphanumeric(c)) } let has_alphanumeric: fn(&&str) -> bool = has_alphanumeric; // coerce to fn pointer From 458951efe25b61e2d6afd6b0207c22267158411a Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Thu, 20 Jun 2019 07:22:17 -0700 Subject: [PATCH 3/5] Bump to edition 2018 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 9aef9c7..0ccee12 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "unicode-segmentation" version = "1.3.0" authors = ["kwantam "] - +edition = "2018" homepage = "https://github.com/unicode-rs/unicode-segmentation" repository = "https://github.com/unicode-rs/unicode-segmentation" documentation = "https://unicode-rs.github.io/unicode-segmentation" From be647b5a49f1f65600d567af5e544fe223557cfa Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Thu, 20 Jun 2019 07:22:39 -0700 Subject: [PATCH 4/5] Remove from example --- src/lib.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 589ac4c..1176605 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,8 +12,6 @@ //! to the [Unicode Standard Annex #29](http://www.unicode.org/reports/tr29/) rules. //! //! ```rust -//! extern crate unicode_segmentation; -//! //! use unicode_segmentation::UnicodeSegmentation; //! //! fn main() { From 435b5c6ec2c932b54f38082d576a9e89a8b0eabe Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Thu, 20 Jun 2019 07:37:12 -0700 Subject: [PATCH 5/5] Remove rustdoc test --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0dce10d..e7930e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,6 @@ os: linux script: - cargo build --verbose - cargo test --verbose - - rustdoc --test README.md -L target/debug -L target/debug/deps - cargo doc after_success: | [ $TRAVIS_RUST_VERSION = stable ] &&