diff options
author | Jeff Vander Stoep <jeffv@google.com> | 2023-02-17 09:16:23 +0100 |
---|---|---|
committer | Jeff Vander Stoep <jeffv@google.com> | 2023-02-17 09:16:23 +0100 |
commit | 371f3db2e90dacc1f3f3902f8e1907ff5c15c5a3 (patch) | |
tree | bb0d8ea4ad8c255bb38c3922d21e4e8f17d05e5f | |
parent | ceecae324792bd8fbaffc3c191a85a3d1c679217 (diff) | |
download | regex-371f3db2e90dacc1f3f3902f8e1907ff5c15c5a3.tar.gz |
Upgrade regex to 1.7.1
This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update rust/crates/regex
For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md
Test: TreeHugger
Change-Id: Ie638ece4e307d6e743eac5624afb348ce80960f4
-rw-r--r-- | .cargo_vcs_info.json | 2 | ||||
-rw-r--r-- | Android.bp | 22 | ||||
-rw-r--r-- | CHANGELOG.md | 16 | ||||
-rw-r--r-- | Cargo.lock.saved | 98 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | Cargo.toml.orig | 2 | ||||
-rw-r--r-- | METADATA | 10 | ||||
-rw-r--r-- | src/re_bytes.rs | 12 | ||||
-rw-r--r-- | src/re_unicode.rs | 12 | ||||
-rw-r--r-- | tests/replace.rs | 18 |
10 files changed, 65 insertions, 129 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json index 67effe3..1e6254f 100644 --- a/.cargo_vcs_info.json +++ b/.cargo_vcs_info.json @@ -1,6 +1,6 @@ { "git": { - "sha1": "f871a8eb1d725a8aaa56e2ceea57c24fce74b5fd" + "sha1": "a9b2e02352db92ce1f6e5b7ecd41b8bbffbe161a" }, "path_in_vcs": "" }
\ No newline at end of file @@ -43,7 +43,7 @@ rust_library { host_supported: true, crate_name: "regex", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["src/lib.rs"], edition: "2018", features: [ @@ -83,7 +83,7 @@ rust_test { host_supported: true, crate_name: "regex", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["src/lib.rs"], test_suites: ["general-tests"], auto_gen_config: true, @@ -125,7 +125,7 @@ rust_test { host_supported: true, crate_name: "backtrack", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["tests/test_backtrack.rs"], test_suites: ["general-tests"], auto_gen_config: true, @@ -168,7 +168,7 @@ rust_test { host_supported: true, crate_name: "backtrack_bytes", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["tests/test_backtrack_bytes.rs"], test_suites: ["general-tests"], auto_gen_config: true, @@ -211,7 +211,7 @@ rust_test { host_supported: true, crate_name: "backtrack_utf8bytes", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["tests/test_backtrack_utf8bytes.rs"], test_suites: ["general-tests"], auto_gen_config: true, @@ -254,7 +254,7 @@ rust_test { host_supported: true, crate_name: "crates_regex", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["tests/test_crates_regex.rs"], test_suites: ["general-tests"], auto_gen_config: true, @@ -297,7 +297,7 @@ rust_test { host_supported: true, crate_name: "default", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["tests/test_default.rs"], test_suites: ["general-tests"], auto_gen_config: true, @@ -340,7 +340,7 @@ rust_test { host_supported: true, crate_name: "default_bytes", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["tests/test_default_bytes.rs"], test_suites: ["general-tests"], auto_gen_config: true, @@ -383,7 +383,7 @@ rust_test { host_supported: true, crate_name: "nfa", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["tests/test_nfa.rs"], test_suites: ["general-tests"], auto_gen_config: true, @@ -426,7 +426,7 @@ rust_test { host_supported: true, crate_name: "nfa_bytes", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["tests/test_nfa_bytes.rs"], test_suites: ["general-tests"], auto_gen_config: true, @@ -469,7 +469,7 @@ rust_test { host_supported: true, crate_name: "nfa_utf8bytes", cargo_env_compat: true, - cargo_pkg_version: "1.7.0", + cargo_pkg_version: "1.7.1", srcs: ["tests/test_nfa_utf8bytes.rs"], test_suites: ["general-tests"], auto_gen_config: true, diff --git a/CHANGELOG.md b/CHANGELOG.md index 73e9e66..466f5a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +1.7.1 (2023-01-09) +================== +This release was done principally to try and fix the doc.rs rendering for the +regex crate. + +Performance improvements: + +* [PERF #930](https://github.com/rust-lang/regex/pull/930): + Optimize `replacen`. This also applies to `replace`, but not `replace_all`. + +Bug fixes: + +* [BUG #945](https://github.com/rust-lang/regex/issues/945): + Maybe fix rustdoc rendering by just bumping a new release? + + 1.7.0 (2022-11-05) ================== This release principally includes an upgrade to Unicode 15. diff --git a/Cargo.lock.saved b/Cargo.lock.saved deleted file mode 100644 index 7da81ca..0000000 --- a/Cargo.lock.saved +++ /dev/null @@ -1,98 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aho-corasick" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" -dependencies = [ - "memchr", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "getrandom" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e" - -[[package]] -name = "memchr" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" - -[[package]] -name = "quickcheck" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" -dependencies = [ - "rand", -] - -[[package]] -name = "rand" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" -dependencies = [ - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7" -dependencies = [ - "getrandom", -] - -[[package]] -name = "regex" -version = "1.7.0" -dependencies = [ - "aho-corasick", - "lazy_static", - "memchr", - "quickcheck", - "rand", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" - -[[package]] -name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" @@ -12,7 +12,7 @@ [package] edition = "2018" name = "regex" -version = "1.7.0" +version = "1.7.1" authors = ["The Rust Project Developers"] exclude = [ "/scripts/*", diff --git a/Cargo.toml.orig b/Cargo.toml.orig index cafb65e..1dc7f56 100644 --- a/Cargo.toml.orig +++ b/Cargo.toml.orig @@ -1,6 +1,6 @@ [package] name = "regex" -version = "1.7.0" #:version +version = "1.7.1" #:version authors = ["The Rust Project Developers"] license = "MIT OR Apache-2.0" readme = "README.md" @@ -11,13 +11,13 @@ third_party { } url { type: ARCHIVE - value: "https://static.crates.io/crates/regex/regex-1.7.0.crate" + value: "https://static.crates.io/crates/regex/regex-1.7.1.crate" } - version: "1.7.0" + version: "1.7.1" license_type: NOTICE last_upgrade_date { - year: 2022 - month: 12 - day: 13 + year: 2023 + month: 2 + day: 17 } } diff --git a/src/re_bytes.rs b/src/re_bytes.rs index d719692..07e9f98 100644 --- a/src/re_bytes.rs +++ b/src/re_bytes.rs @@ -496,12 +496,12 @@ impl Regex { let mut new = Vec::with_capacity(text.len()); let mut last_match = 0; for (i, m) in it { - if limit > 0 && i >= limit { - break; - } new.extend_from_slice(&text[last_match..m.start()]); new.extend_from_slice(&rep); last_match = m.end(); + if limit > 0 && i >= limit - 1 { + break; + } } new.extend_from_slice(&text[last_match..]); return Cow::Owned(new); @@ -516,14 +516,14 @@ impl Regex { let mut new = Vec::with_capacity(text.len()); let mut last_match = 0; for (i, cap) in it { - if limit > 0 && i >= limit { - break; - } // unwrap on 0 is OK because captures only reports matches let m = cap.get(0).unwrap(); new.extend_from_slice(&text[last_match..m.start()]); rep.replace_append(&cap, &mut new); last_match = m.end(); + if limit > 0 && i >= limit - 1 { + break; + } } new.extend_from_slice(&text[last_match..]); Cow::Owned(new) diff --git a/src/re_unicode.rs b/src/re_unicode.rs index 60d81a7..197510e 100644 --- a/src/re_unicode.rs +++ b/src/re_unicode.rs @@ -554,12 +554,12 @@ impl Regex { let mut new = String::with_capacity(text.len()); let mut last_match = 0; for (i, m) in it { - if limit > 0 && i >= limit { - break; - } new.push_str(&text[last_match..m.start()]); new.push_str(&rep); last_match = m.end(); + if limit > 0 && i >= limit - 1 { + break; + } } new.push_str(&text[last_match..]); return Cow::Owned(new); @@ -574,14 +574,14 @@ impl Regex { let mut new = String::with_capacity(text.len()); let mut last_match = 0; for (i, cap) in it { - if limit > 0 && i >= limit { - break; - } // unwrap on 0 is OK because captures only reports matches let m = cap.get(0).unwrap(); new.push_str(&text[last_match..m.start()]); rep.replace_append(&cap, &mut new); last_match = m.end(); + if limit > 0 && i >= limit - 1 { + break; + } } new.push_str(&text[last_match..]); Cow::Owned(new) diff --git a/tests/replace.rs b/tests/replace.rs index 1dc6106..d65be07 100644 --- a/tests/replace.rs +++ b/tests/replace.rs @@ -228,3 +228,21 @@ replace!( bytes!(&std::borrow::Cow::<'_, [u8]>::Owned(vec![b'Z'])), "age: Z6" ); + +#[test] +fn replacen_no_captures() { + let re = regex!(r"[0-9]"); + assert_eq!( + re.replacen(text!("age: 1234"), 2, t!("Z")), + text!("age: ZZ34") + ); +} + +#[test] +fn replacen_with_captures() { + let re = regex!(r"([0-9])"); + assert_eq!( + re.replacen(text!("age: 1234"), 2, t!("${1}Z")), + text!("age: 1Z2Z34") + ); +} |