Rollup merge of #113512 - vallentin:lines-doc, r=workingjubilee
Updated lines doc to include trailing carriage return note Updated `str::lines` doc to include explicit info about (trailing) carriage returns. Reference: #100311
This commit is contained in:
commit
b97da75156
@ -952,6 +952,10 @@ pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_> {
|
||||
///
|
||||
/// 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 @@ pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_> {
|
||||
/// 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";
|
||||
|
Loading…
Reference in New Issue
Block a user