-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use intra-doc links in core::iter module #74300
Changes from all commits
91738d8
53a1d6f
69f43dd
a7f067a
3fb3c0c
1a90ba7
67c1e89
5ffdd7c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -106,8 +106,7 @@ pub trait Iterator { | |
/// again may or may not eventually start returning [`Some(Item)`] again at some | ||
/// point. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`Some(Item)`]: ../../std/option/enum.Option.html#variant.Some | ||
/// [`Some(Item)`]: Some | ||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -160,9 +159,7 @@ pub trait Iterator { | |
/// The default implementation returns `(0, `[`None`]`)` which is correct for any | ||
/// iterator. | ||
/// | ||
/// [`usize`]: ../../std/primitive.usize.html | ||
/// [`Option`]: ../../std/option/enum.Option.html | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`usize`]: type@usize | ||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -214,8 +211,6 @@ pub trait Iterator { | |
/// called at least once even if the iterator does not have any elements. | ||
/// | ||
/// [`next`]: #tymethod.next | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`Some`]: ../../std/option/enum.Option.html#variant.Some | ||
/// | ||
/// # Overflow Behavior | ||
/// | ||
|
@@ -229,7 +224,7 @@ pub trait Iterator { | |
/// This function might panic if the iterator has more than [`usize::MAX`] | ||
/// elements. | ||
/// | ||
/// [`usize::MAX`]: ../../std/usize/constant.MAX.html | ||
/// [`usize::MAX`]: crate::usize::MAX | ||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -263,8 +258,6 @@ pub trait Iterator { | |
/// doing so, it keeps track of the current element. After [`None`] is | ||
/// returned, `last()` will then return the last element it saw. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// | ||
/// # Examples | ||
/// | ||
/// Basic usage: | ||
|
@@ -303,8 +296,6 @@ pub trait Iterator { | |
/// `nth()` will return [`None`] if `n` is greater than or equal to the length of the | ||
/// iterator. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// | ||
/// # Examples | ||
/// | ||
/// Basic usage: | ||
|
@@ -537,9 +528,8 @@ pub trait Iterator { | |
/// assert_eq!((2, 'o'), zipper[2]); | ||
/// ``` | ||
/// | ||
/// [`enumerate`]: trait.Iterator.html#method.enumerate | ||
/// [`next`]: ../../std/iter/trait.Iterator.html#tymethod.next | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`enumerate`]: #method.enumerate | ||
/// [`next`]: #tymethod.next | ||
#[inline] | ||
#[stable(feature = "rust1", since = "1.0.0")] | ||
fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter> | ||
|
@@ -568,7 +558,7 @@ pub trait Iterator { | |
/// more idiomatic to use [`for`] than `map()`. | ||
/// | ||
/// [`for`]: ../../book/ch03-05-control-flow.html#looping-through-a-collection-with-for | ||
/// [`FnMut`]: ../../std/ops/trait.FnMut.html | ||
/// [`FnMut`]: crate::ops::FnMut | ||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -777,9 +767,7 @@ pub trait Iterator { | |
/// assert_eq!(iter.next(), None); | ||
/// ``` | ||
/// | ||
/// [`Option<T>`]: ../../std/option/enum.Option.html | ||
/// [`Some`]: ../../std/option/enum.Option.html#variant.Some | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`Option<T>`]: Option | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is #62834. This is a good workaround in the meantime though. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. But why not just use There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We could use |
||
#[inline] | ||
#[stable(feature = "rust1", since = "1.0.0")] | ||
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> | ||
|
@@ -812,8 +800,8 @@ pub trait Iterator { | |
/// The returned iterator might panic if the to-be-returned index would | ||
/// overflow a [`usize`]. | ||
/// | ||
/// [`usize::MAX`]: ../../std/usize/constant.MAX.html | ||
/// [`usize`]: ../../std/primitive.usize.html | ||
/// [`usize`]: type@usize | ||
/// [`usize::MAX`]: crate::usize::MAX | ||
/// [`zip`]: #method.zip | ||
/// | ||
/// # Examples | ||
|
@@ -849,8 +837,8 @@ pub trait Iterator { | |
/// anything other than fetching the next value) of the [`next`] method | ||
/// will occur. | ||
/// | ||
/// [`peek`]: struct.Peekable.html#method.peek | ||
/// [`next`]: ../../std/iter/trait.Iterator.html#tymethod.next | ||
/// [`peek`]: crate::iter::Peekable::peek | ||
/// [`next`]: #tymethod.next | ||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -1116,8 +1104,6 @@ pub trait Iterator { | |
/// It is also not specified what this iterator returns after the first` None` is returned. | ||
/// If you need fused iterator, use [`fuse`]. | ||
/// | ||
/// [`Some`]: ../../std/option/enum.Option.html#variant.Some | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`fuse`]: #method.fuse | ||
#[inline] | ||
#[unstable(feature = "iter_map_while", reason = "recently added", issue = "68537")] | ||
|
@@ -1216,8 +1202,6 @@ pub trait Iterator { | |
/// iterator and the return value from the closure, an [`Option`], is | ||
/// yielded by the iterator. | ||
/// | ||
/// [`Option`]: ../../std/option/enum.Option.html | ||
/// | ||
/// # Examples | ||
/// | ||
/// Basic usage: | ||
|
@@ -1366,8 +1350,7 @@ pub trait Iterator { | |
/// [`Some(T)`] again. `fuse()` adapts an iterator, ensuring that after a | ||
/// [`None`] is given, it will always return [`None`] forever. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`Some(T)`]: ../../std/option/enum.Option.html#variant.Some | ||
/// [`Some(T)`]: Some | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've seen this quite a few times now, maybe it would be a good feature for intra-doc links to add, same as #62834? |
||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -1658,10 +1641,9 @@ pub trait Iterator { | |
/// assert_eq!(Ok(vec![1, 3]), result); | ||
/// ``` | ||
/// | ||
/// [`iter`]: ../../std/iter/trait.Iterator.html#tymethod.next | ||
/// [`iter`]: #tymethod.next | ||
/// [`String`]: ../../std/string/struct.String.html | ||
/// [`char`]: ../../std/primitive.char.html | ||
/// [`Result`]: ../../std/result/enum.Result.html | ||
/// [`char`]: type@char | ||
#[inline] | ||
#[stable(feature = "rust1", since = "1.0.0")] | ||
#[must_use = "if you really need to exhaust the iterator, consider `.for_each(drop)` instead"] | ||
|
@@ -2184,8 +2166,7 @@ pub trait Iterator { | |
/// argument is a double reference. You can see this effect in the | ||
/// examples below, with `&&x`. | ||
/// | ||
/// [`Some(element)`]: ../../std/option/enum.Option.html#variant.Some | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`Some(element)`]: Some | ||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -2331,9 +2312,8 @@ pub trait Iterator { | |
/// This function might panic if the iterator has more than `usize::MAX` | ||
/// non-matching elements. | ||
/// | ||
/// [`Some(index)`]: ../../std/option/enum.Option.html#variant.Some | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`usize::MAX`]: ../../std/usize/constant.MAX.html | ||
/// [`Some(index)`]: Some | ||
/// [`usize::MAX`]: crate::usize::MAX | ||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -2394,8 +2374,7 @@ pub trait Iterator { | |
/// `rposition()` is short-circuiting; in other words, it will stop | ||
/// processing as soon as it finds a `true`. | ||
/// | ||
/// [`Some(index)`]: ../../std/option/enum.Option.html#variant.Some | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// [`Some(index)`]: Some | ||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -2449,8 +2428,6 @@ pub trait Iterator { | |
/// If several elements are equally maximum, the last element is | ||
/// returned. If the iterator is empty, [`None`] is returned. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// | ||
/// # Examples | ||
/// | ||
/// Basic usage: | ||
|
@@ -2477,8 +2454,6 @@ pub trait Iterator { | |
/// If several elements are equally minimum, the first element is | ||
/// returned. If the iterator is empty, [`None`] is returned. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// | ||
/// # Examples | ||
/// | ||
/// Basic usage: | ||
|
@@ -2506,8 +2481,6 @@ pub trait Iterator { | |
/// If several elements are equally maximum, the last element is | ||
/// returned. If the iterator is empty, [`None`] is returned. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// | ||
/// # Examples | ||
/// | ||
/// ``` | ||
|
@@ -2541,8 +2514,6 @@ pub trait Iterator { | |
/// If several elements are equally maximum, the last element is | ||
/// returned. If the iterator is empty, [`None`] is returned. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// | ||
/// # Examples | ||
/// | ||
/// ``` | ||
|
@@ -2570,8 +2541,6 @@ pub trait Iterator { | |
/// If several elements are equally minimum, the first element is | ||
/// returned. If the iterator is empty, [`None`] is returned. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// | ||
/// # Examples | ||
/// | ||
/// ``` | ||
|
@@ -2605,8 +2574,6 @@ pub trait Iterator { | |
/// If several elements are equally minimum, the first element is | ||
/// returned. If the iterator is empty, [`None`] is returned. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// | ||
/// # Examples | ||
/// | ||
/// ``` | ||
|
@@ -2747,7 +2714,7 @@ pub trait Iterator { | |
/// This is useful when you have an iterator over `&T`, but you need an | ||
/// iterator over `T`. | ||
/// | ||
/// [`clone`]: ../../std/clone/trait.Clone.html#tymethod.clone | ||
/// [`clone`]: crate::clone::Clone::clone | ||
/// | ||
/// # Examples | ||
/// | ||
|
@@ -2779,8 +2746,6 @@ pub trait Iterator { | |
/// from the beginning. After iterating again, it will start at the | ||
/// beginning again. And again. And again. Forever. | ||
/// | ||
/// [`None`]: ../../std/option/enum.Option.html#variant.None | ||
/// | ||
/// # Examples | ||
/// | ||
/// Basic usage: | ||
|
@@ -3233,7 +3198,7 @@ pub trait Iterator { | |
/// assert!(![0.0, 1.0, f32::NAN].iter().is_sorted_by(|a, b| a.partial_cmp(b))); | ||
/// ``` | ||
/// | ||
/// [`is_sorted`]: trait.Iterator.html#method.is_sorted | ||
/// [`is_sorted`]: #method.is_sorted | ||
#[unstable(feature = "is_sorted", reason = "new API", issue = "53485")] | ||
fn is_sorted_by<F>(mut self, mut compare: F) -> bool | ||
where | ||
|
@@ -3262,7 +3227,7 @@ pub trait Iterator { | |
/// the elements, as determined by `f`. Apart from that, it's equivalent to [`is_sorted`]; see | ||
/// its documentation for more information. | ||
/// | ||
/// [`is_sorted`]: trait.Iterator.html#method.is_sorted | ||
/// [`is_sorted`]: #method.is_sorted | ||
/// | ||
/// # Examples | ||
/// | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this not have an equivalent?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This fragment link is fine as the
sum
method referred belongs to Sum trait.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is #51284, which is a project all on its own. If @lzutao checked that it works I'm fine with it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this not be
Sum::sum
orSelf::sum
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it documented in Intra RFC? That's new to me!