diff options
| author | vallentin <mail@vallentin.dev> | 2023-07-09 20:20:30 +0200 |
|---|---|---|
| committer | vallentin <mail@vallentin.dev> | 2023-07-09 21:44:37 +0200 |
| commit | 116aacc2a9ce7f39e50584169d6d8917eb33ca2b (patch) | |
| tree | 3bf127caa672a8ace6ec89950196517868f2a73e | |
| parent | b12ff66f2c9daf6538fe0548b3c2ba16d9185cfb (diff) | |
| download | rust-116aacc2a9ce7f39e50584169d6d8917eb33ca2b.tar.gz rust-116aacc2a9ce7f39e50584169d6d8917eb33ca2b.zip | |
Updated lines doc to include trailing carriage return note
| -rw-r--r-- | library/core/src/str/mod.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/library/core/src/str/mod.rs b/library/core/src/str/mod.rs index 9a93bb72903..10dd8f1fc17 100644 --- a/library/core/src/str/mod.rs +++ b/library/core/src/str/mod.rs @@ -952,6 +952,10 @@ impl str { /// /// Line terminators are not included in the lines returned by the iterator. /// + /// Note that any carriage return (`\r`) not immediately followed by a + /// line feed (`\n`) does not split a line. These carriage returns are + /// thereby included in the produced lines. + /// /// The final line ending is optional. A string that ends with a final line /// ending will return the same lines as an otherwise identical string /// without a final line ending. @@ -961,18 +965,19 @@ impl str { /// Basic usage: /// /// ``` - /// let text = "foo\r\nbar\n\nbaz\n"; + /// let text = "foo\r\nbar\n\nbaz\r"; /// let mut lines = text.lines(); /// /// assert_eq!(Some("foo"), lines.next()); /// assert_eq!(Some("bar"), lines.next()); /// assert_eq!(Some(""), lines.next()); - /// assert_eq!(Some("baz"), lines.next()); + /// // Trailing carriage return is included in the last line + /// assert_eq!(Some("baz\r"), lines.next()); /// /// assert_eq!(None, lines.next()); /// ``` /// - /// The final line ending isn't required: + /// The final line does not require any ending: /// /// ``` /// let text = "foo\nbar\n\r\nbaz"; |
