diff options
| author | ridiculousfish <corydoras@ridiculousfish.com> | 2020-02-22 13:28:53 -0800 |
|---|---|---|
| committer | ridiculousfish <corydoras@ridiculousfish.com> | 2020-02-22 13:30:54 -0800 |
| commit | 9e41c4b682f625ae7860255c2d17790f5d9f324a (patch) | |
| tree | 4f7342a63c9f9a3524834a6c17c030b83d6e58c8 /src/libcore | |
| parent | 3eeefc21f1a3ed9755c072c83808ed5c087b8c9a (diff) | |
Relax str::get_unchecked precondition to permit empty slicing
Prior to this commit, `str` documented that `get_unchecked` had the precondition that "`begin` must come before `end`". This would appear to prohibit empty slices (i.e. begin == end). In practice, get_unchecked is called often with empty slices. Let's relax the precondition so as to allow them.
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/str/mod.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libcore/str/mod.rs b/src/libcore/str/mod.rs index 668b3ff3a36..9c0db5d9872 100644 --- a/src/libcore/str/mod.rs +++ b/src/libcore/str/mod.rs @@ -2486,7 +2486,7 @@ impl str { /// Callers of this function are responsible that these preconditions are /// satisfied: /// - /// * The starting index must come before the ending index; + /// * The starting index must not exceed the ending index; /// * Indexes must be within bounds of the original slice; /// * Indexes must lie on UTF-8 sequence boundaries. /// @@ -2518,7 +2518,7 @@ impl str { /// Callers of this function are responsible that these preconditions are /// satisfied: /// - /// * The starting index must come before the ending index; + /// * The starting index must not exceed the ending index; /// * Indexes must be within bounds of the original slice; /// * Indexes must lie on UTF-8 sequence boundaries. /// @@ -2563,7 +2563,7 @@ impl str { /// Callers of this function are responsible that three preconditions are /// satisfied: /// - /// * `begin` must come before `end`. + /// * `begin` must not exceed `end`. /// * `begin` and `end` must be byte positions within the string slice. /// * `begin` and `end` must lie on UTF-8 sequence boundaries. /// @@ -2612,7 +2612,7 @@ impl str { /// Callers of this function are responsible that three preconditions are /// satisfied: /// - /// * `begin` must come before `end`. + /// * `begin` must not exceed `end`. /// * `begin` and `end` must be byte positions within the string slice. /// * `begin` and `end` must lie on UTF-8 sequence boundaries. #[stable(feature = "str_slice_mut", since = "1.5.0")] |
