Skip to content

Conversation

@BurntSushi
Copy link
Member

This PR collects a series of changes that should let us release regex 1.0. For the most part, these changes consist of the things listed in #457, along with miscellaneous cleanups like converting uses of try! to ?.

We declare that the minimum supported version of Rust for regex 1.0 will be Rust 1.20.0 (regex 0.2 requires Rust 1.12 or newer).

Closes #457

BurntSushi added 10 commits May 1, 2018 13:32
This also clarifies our policy on increasing the minimum Rust version required. In particular, we reserve the right to increase the minimum Rust version in minor version releases of regexes, but never in patch releases. We will default to a reasonably conservative interpretation of this policy, and not bump the minimum required Rust version lightly. If this policy turns out to be too aggressive, then we may alter it in the future to state that the minimum Rust version is fixed for all of regex 1.y.z, and can only be bumped on major regex version releases. See rust-lang#457
This commit disables octal syntax by default, which will permit us to produce useful error messages if a user tried to invoke a backreference. This commit adds a new `octal` method to RegexBuilder and RegexSetBuilder which permits callers to re-enable octal syntax. See rust-lang#457
This commit removes our explicit implementations of encode_utf8 and replaces them with uses of `char::encode_utf8`, which was added to the standard library in Rust 1.15.
The issue with the ASCII version of \B is that it can match between code units of UTF-8, which means it can cause match indices reported to be on invalid UTF-8 boundaries. Therefore, similar to things like `(?-u:\xFF)`, we ban negated ASCII word boundaries from Unicode regular expressions. Normal ASCII word boundaries remain accessible from Unicode regular expressions. See rust-lang#457
Make sure we can run tests for regex-syntax on Rust 1.20.0.
This removes a public `From` impl that automatically converts errors from the regex-syntax crate to a regex::Error. This actually causes regex-syntax to be a public dependency of regex, which was an oversight. We now remove it, which completely breaks any source code coupling between regex and regex-syntax. See rust-lang#457
This feature is no longer used, instead we rely on runtime CPU feature detection. We kept the feature around as a no-op for backwards compatibility, but no longer need to support it for regex 1.0.
This commit adds a new 'use_std' feature and enables it by default. This permits us to one day add support for building regex without 'use_std' (but with 'alloc', probably) by avoiding the introduction of incompatibilities. Namely, this setup ensures that all of today's uses of '--no-default-features' won't compile without also adding the 'use_std' feature. Closes rust-lang#457
@BurntSushi BurntSushi merged commit 0052f3c into rust-lang:master May 1, 2018
@BurntSushi BurntSushi deleted the ag/regex1 branch May 1, 2018 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant