rust/library/core/src
Matthias Krüger 4d1a63975c
Rollup merge of #139099 - scottmcm:from_fn_docs, r=Amanieu
Promise `array::from_fn` is generated in order of increasing indices

Fixes #139061

I agree this needs to be documented because of the `FnMut`, either with a guarantee or to explicitly disclaim one.

I'm pretty sure this will be non-controversial (like the other "well sure you *could* do it in a different order, but why?" things were), but I couldn't find any previous libs-api decision on it so it's seemingly a new promise that will need FCP.

Basically, yes, it would be plausible to fill in the reverse order, but there's no obvious way we could ever know that that might even be a good idea, so forward seems like an easy thing to promise.  We could always add a `from_fn_rev` or something later if there's ever a strong enough need, but it seems unlikely.

Let's just do the obvious thing so it matches what `[gen(0), gen(1), …, gen(N-1)]` does.
2025-04-09 14:52:37 +02:00
..
alloc Pass Alignment for RawVecInner::new_in 2025-03-26 21:41:11 +00:00
array Promise array::from_fn in generated in order of increasing indices 2025-03-29 01:06:43 -07:00
ascii Add more precondition check tests 2024-10-09 19:34:27 -04:00
async_iter Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
bstr Implement SliceIndex for ByteStr 2025-03-11 20:26:10 -07:00
cell OnceCell & OnceLock docs: Using (un)initialized consistently 2025-02-03 17:48:39 +05:30
char Rollup merge of #138082 - thaliaarchi:slice-cfg-not-test, r=thomcc 2025-03-16 09:40:05 +08:00
clone CloneToUninit: use a private specialization trait 2024-07-29 20:44:43 +03:00
cmp Use generic NonZero everywhere in core. 2024-02-22 15:17:33 +01:00
convert Auto merge of #138363 - beetrees:f16-f128-integer-convert, r=Amanieu 2025-03-17 00:33:36 +00:00
ffi Use cfg_match in core 2025-03-26 14:32:35 -04:00
fmt Rollup merge of #139123 - thaliaarchi:core-alloc-test-paths, r=bjorn3 2025-04-06 16:21:02 +10:00
future tidying up tidy 2025-02-15 13:34:01 +06:00
hash library: Use size_of from the prelude instead of imported 2025-03-06 20:20:38 -08:00
intrinsics Rollup merge of #139526 - smanilov:issue-139505, r=RalfJung 2025-04-08 21:26:01 +02:00
io Add inherent versions of MaybeUninit methods for slices 2025-01-11 23:57:00 -05:00
iter use diagnostic::on_unimplemented instead 2025-03-30 15:25:47 +02:00
macros mark cfg_match! semitransparent 2025-03-26 13:52:22 -04:00
marker Make phantom variance markers transparent 2025-02-15 00:47:49 +00:00
mem Rollup merge of #135394 - clarfonthey:uninit-slices-part-2, r=tgross35 2025-03-19 16:52:52 +01:00
net Recognise new IPv6 non-global range from RFC9602 2025-03-21 17:53:29 +11:00
num Expose algebraic floating point intrinsics 2025-04-04 16:13:57 -07:00
ops Make ControlFlow must_use 2025-03-16 17:47:56 +00:00
panic Remove #[cfg(not(test))] gates in core 2025-03-06 13:21:59 -08:00
prelude Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
ptr Auto merge of #138951 - jwnrt:alloc-raw-vec-strict-prov, r=Noratrieb 2025-04-06 23:07:48 +00:00
range Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
slice Rollup merge of #139072 - nickkuk:align_to_uninit_mut, r=Mark-Simulacrum 2025-04-06 18:08:10 +02:00
str Auto merge of #138537 - yotamofek:pr/lib/multi-char-pattern, r=jhpratt 2025-03-16 14:23:18 +00:00
sync Allow inlining for Atomic*::from_ptr 2025-03-21 20:51:06 +00:00
task Remove #[cfg(not(test))] gates in core 2025-03-06 13:21:59 -08:00
unicode Remove unneeded parentheses. 2025-03-08 12:56:00 +01:00
any.rs Remove #[cfg(not(test))] gates in core 2025-03-06 13:21:59 -08:00
arch.rs core: #[allow(unreachable_pub)] on unreachable pub use 2025-01-20 18:35:32 +01:00
ascii.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
asserting.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
bool.rs Remove #[cfg(not(test))] gates in core 2025-03-06 13:21:59 -08:00
borrow.rs Suggest borrowing on fn argument that is impl AsRef 2024-05-09 23:25:31 +00:00
cell.rs Apply requested API changes to cell_update 2025-04-02 18:18:50 +00:00
clone.rs Rewrite example to not deal with Copy at all. 2025-03-10 15:03:36 -07:00
cmp.rs Override PartialOrd methods for bool 2025-03-25 21:02:55 +01:00
contracts.rs update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
default.rs Remove #[cfg(not(test))] gates in core 2025-03-06 13:21:59 -08:00
error.md Mention core's PanicInfo in error.md. 2024-06-11 15:47:00 +02:00
error.rs Remove #[cfg(not(test))] gates in core 2025-03-06 13:21:59 -08:00
escape.rs core: add #![warn(unreachable_pub)] 2025-01-20 18:35:32 +01:00
hint.rs update version placeholders 2025-02-18 08:50:21 -08:00
internal_macros.rs Use cfg_match in core 2025-03-26 14:32:35 -04:00
lib.miri.rs add 'x.py miri', and make it work for 'library/{core,alloc,std}' 2024-04-03 20:27:20 +02:00
lib.rs Use cfg_match in core 2025-03-26 14:32:35 -04:00
marker.rs Rollup merge of #138082 - thaliaarchi:slice-cfg-not-test, r=thomcc 2025-03-16 09:40:05 +08:00
option.rs Rollup merge of #138082 - thaliaarchi:slice-cfg-not-test, r=thomcc 2025-03-16 09:40:05 +08:00
panic.rs update cfgs 2024-11-27 15:14:54 +00:00
panicking.rs update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
pat.rs Remove the Option part of range ends in the HIR 2025-03-06 10:47:40 +00:00
pin.rs add rustc_macro_edition_2021 2025-03-19 17:37:35 +01:00
primitive.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
primitive_docs.rs Rollup merge of #136457 - calder:master, r=tgross35 2025-04-05 13:18:12 +11:00
random.rs random: add tracking issue, address other comments 2024-09-23 10:36:16 +02:00
range.rs update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
result.rs Rollup merge of #138082 - thaliaarchi:slice-cfg-not-test, r=thomcc 2025-03-16 09:40:05 +08:00
time.rs Rollup merge of #138082 - thaliaarchi:slice-cfg-not-test, r=thomcc 2025-03-16 09:40:05 +08:00
tuple.rs Stop using specialization for this 2025-03-23 15:27:31 -07:00
ub_checks.rs Make ub_check message clear that it's not an assert 2025-02-16 00:56:09 +00:00
unit.rs core: Make Debug impl of raw pointers print metadata if present 2025-02-15 17:27:55 +01:00
unsafe_binder.rs Add unwrap_unsafe_binder and wrap_unsafe_binder macro operators 2024-12-12 16:29:40 +00:00