-
Notifications
You must be signed in to change notification settings - Fork 13k
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
improve array_from_fn documenation #104839
Conversation
r? @scottmcm (rustbot has picked a reviewer for you, use r? to override) |
Hey! It looks like you've submitted a new PR for the library teams! If this PR contains changes to any Examples of
|
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.
Thanks for sending a PR! This looks like a good improvement; I just have a couple of tweak requests.
@rustbot author
(Once you'd like me to look at this again, use @rustbot ready
to update the labels.)
library/core/src/array/mod.rs
Outdated
@@ -36,8 +37,18 @@ pub use iter::IntoIter; | |||
/// // elements to produce is the length of array down there: only arrays of | |||
/// // equal lengths can be compared, so the const generic parameter `N` is | |||
/// // inferred to be 5, thus creating array of 5 elements. | |||
/// let array = core::array::from_fn(|i| i); | |||
/// | |||
/// let array: [_; 5] = core::array::from_fn(|i| i); |
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.
Given the big comment about type inference above this one, I think this example should stay of inferred width
/// let array: [_; 5] = core::array::from_fn(|i| i); | |
/// let array = core::array::from_fn(|i| i); |
library/core/src/array/mod.rs
Outdated
/// assert_eq!(array, [0, 1, 2, 3, 4]); | ||
/// | ||
/// let array2: [_; 8] = core::array::from_fn(|i| i * 2); |
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.
Then it would be good to mention the type annotation on this on to contrast with the first one.
library/core/src/array/mod.rs
Outdated
/// // indexes are: 0 1 2 3 4 5 6 7 | ||
/// assert_eq!(array2, [0, 2, 4, 6, 8, 10, 12, 14]); | ||
/// | ||
/// let bool_arr: [bool; 5] = core::array::from_fn(|i| i % 2 == 0); |
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.
And for completeness, maybe show turbofishing for this one?
/// let bool_arr: [bool; 5] = core::array::from_fn(|i| i % 2 == 0); | |
/// let bool_arr = core::array::from_fn::<_, 5, _>(|i| i % 2 == 0); |
@rustbot ready |
@bors r+ rollup=always |
…n, r=scottmcm improve array_from_fn documenation Improves array::from_fn documentation Fixes rust-lang#102609 There were also unresolved comments from [this PR rust-lang#100462](rust-lang#100462), which have been added to my PR
…iaskrgr Rollup of 6 pull requests Successful merges: - rust-lang#104121 (Refine `instruction_set` MIR inline rules) - rust-lang#104675 (Unsupported query error now specifies if its unsupported for local or external crate) - rust-lang#104839 (improve array_from_fn documenation) - rust-lang#104880 ([llvm-wrapper] adapt for LLVM API change) - rust-lang#104899 (rustdoc: remove no-op CSS `#help dt { display: block }`) - rust-lang#104906 (Remove AscribeUserTypeCx) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Improves array::from_fn documentation
Fixes #102609
There were also unresolved comments from this PR #100462, which have been added to my PR