tkirishima
6d5c591405
Replace i32 by char in split_at & _unchecked
2024-12-14 14:25:55 +00:00
tkirishima
891a75b3a1
Add clarity to the "greater" of VecDeque::insert
2024-12-14 14:25:55 +00:00
tkirishima
ea048cf055
Replace i32 by char to add clarity
...
In some `Vec` and `VecDeque` examples where elements are i32, examples can seem a bit confusing at first glance if a parameter of the method is an usize.
2024-12-14 14:25:55 +00:00
bors
f1ec5d64b3
Auto merge of #134296 - matthiaskrgr:rollup-o0sxozj, r=matthiaskrgr
...
Rollup of 6 pull requests
Successful merges:
- #132150 (Fix powerpc64 big-endian FreeBSD ABI)
- #133942 (Clarify how to use `black_box()`)
- #134081 (Try to evaluate constants in legacy mangling)
- #134192 (Remove `Lexer`'s dependency on `Parser`.)
- #134208 (coverage: Tidy up creation of covmap and covfun records)
- #134211 (On Neutrino QNX, reduce the need to set archiver via environment variables)
r? `@ghost`
`@rustbot` modify labels: rollup
2024-12-14 13:06:18 +00:00
Andrew Bond
fb6a19bc67
Add documentation for anonymous pipe module
2024-12-14 01:10:33 -07:00
Matthias Krüger
8abb823520
Rollup merge of #133942 - BD103:black-box-docs, r=saethlin
...
Clarify how to use `black_box()`
Closes #133923 .
r? libs
^ (I think that's the right group, this is my first time!)
This PR adds further clarification on the [`black_box()`](https://doc.rust-lang.org/stable/std/hint/fn.black_box.html ) documentation. Specifically, it teaches _how_ to use it, instead of just _when_ to use it.
I tried my best to make it clear and accurate, but a lot of my information is sourced from https://github.com/rust-lang/rust-clippy/issues/12707 and [manually inspecting assembly](https://godbolt.org/ ). Please tell me if I got anything wrong!
2024-12-14 05:01:05 +01:00
Matthias Krüger
0b5003eaf0
Rollup merge of #134255 - bjoernager:master, r=Noratrieb
...
Update includes in `/library/core/src/error.rs`.
This PR removes the `crate::fmt::Result` include in `/library/core/src/error.rs`.
The main issue with this `use` statement is that it shadows the `Result` type from the prelude (i.e. `crate::result::Result`). This indirectly makes all docs references to `Result` in this module point to the wrong type (but only in `core::error` - not `std::error`, wherein this include isn't present to begin with).
Fixes : #134169
2024-12-14 04:09:34 +01:00
Matthias Krüger
198d2d486d
Rollup merge of #134254 - hermit-os:hermit-c_char, r=workingjubilee
...
Fix building `std` for Hermit after `c_char` change
These changes were made necessary by https://github.com/rust-lang/rust/pull/132975 .
2024-12-14 04:09:33 +01:00
Matthias Krüger
c58b8bc1bf
Rollup merge of #134252 - hermit-os:hermit-is_absolute, r=tgross35
...
Fix `Path::is_absolute` on Hermit
Paths on Hermit work like paths on Unix.
Closes https://github.com/rust-lang/rust/issues/132141 .
2024-12-14 04:09:33 +01:00
Michael Howell
246835eda4
rustdoc-search: let From and Into be unboxed
2024-12-13 11:05:30 -07:00
Matthias Krüger
8cce32ae2b
Rollup merge of #134229 - purplesyringa:provenance-docs, r=saethlin
...
Fix typos in docs on provenance
This is related to [strict provenance](https://github.com/rust-lang/rust/issues/95228 ).
Added a couple cross-refs, also replaced
> Create a pointer without provenance from just an address (see [`ptr::dangling`]).
with
> Create a pointer without provenance from just an address (see [`without_provenance`]).
as this method actually takes an address.
2024-12-13 17:25:31 +01:00
Matthias Krüger
5c9b227a3d
Rollup merge of #134140 - compiler-errors:unsafe-binders-ast, r=oli-obk
...
Add AST support for unsafe binders
I'm splitting up #130514 into pieces. It's impossible for me to keep up with a huge PR like that. I'll land type system support for this next, probably w/o MIR lowering, which will come later.
r? `@oli-obk`
cc `@BoxyUwU` and `@lcnr` who also may want to look at this, though this PR doesn't do too much yet
2024-12-13 17:25:31 +01:00
bjorn3
b805f30542
Remove support for specializing ToString outside the standard library
...
This is the only trait specializable outside of the standard library.
Before stabilizing specialization we will probably want to remove
support for this. It was originally made specializable to allow a more
efficient ToString in libproc_macro back when this way the only way to
get any data out of a TokenStream. We now support getting individual
tokens, so proc macros no longer need to call it as often.
2024-12-13 13:48:19 +00:00
bors
4847d6a9d0
Auto merge of #134047 - saethlin:inline-fmt-rt, r=m-ou-se
...
Switch inline(always) in core/src/fmt/rt.rs to plain inline
I have a vague memory of these being instantiated a lot. Let's ask perf.
Looks like this is an improvement!
2024-12-13 12:04:04 +00:00
Gabriel Bjørnager Jensen
38eb608a43
Update includes in '/library/core/src/error.rs';
2024-12-13 12:46:20 +01:00
Martin Kröning
4e8359c7e0
Fix building std for Hermit after c_char change
2024-12-13 12:17:46 +01:00
Martin Kröning
907846e01b
Fix Path::is_absolute on Hermit
2024-12-13 11:53:01 +01:00
Michael Goulet
5a1a5e8bb7
Reword prelude for AsyncFn stabilization
2024-12-13 00:04:57 +00:00
Michael Goulet
c605c84be8
Stabilize async closures
2024-12-13 00:04:56 +00:00
Alisa Sireneva
6ce7ba4300
Fix typos in docs on provenance
2024-12-12 22:52:12 +03:00
BD103
7fb2fc01a5
feat: clarify how to use black_box()
...
Co-authored-by: Ben Kimock <kimockb@gmail.com >
2024-12-12 13:54:17 -05:00
Michael Goulet
3f97c6be8d
Add unwrap_unsafe_binder and wrap_unsafe_binder macro operators
2024-12-12 16:29:40 +00:00
Matthias Krüger
10556598e5
Rollup merge of #134179 - zachs18:align_offset_mut_ptr_doc, r=workingjubilee
...
Remove outdated consteval note from `<*mut T>::align_offset` docs.
2024-12-12 08:07:04 +01:00
Matthias Krüger
90f6b27a93
Rollup merge of #134178 - ehuss:stabilize-2024-prelude, r=amanieu,traviscross,tgross35
...
Stabilize the Rust 2024 prelude
This stabilizes the `core::prelude::rust_2024` and `std::prelude::rust_2024` modules. I missed these in the #133349 stabilization.
2024-12-12 08:07:04 +01:00
Matthias Krüger
454ed9b681
Rollup merge of #134155 - sthibaul:unsafe_op_in_unsafe_fn, r=tgross35
...
Forbid `unsafe_op_in_unsafe_fn` for Hurd
Tracking issue https://github.com/rust-lang/rust/issues/127747
2024-12-12 08:07:02 +01:00
Matthias Krüger
909a3e2215
Rollup merge of #133859 - bjorn3:move_tests_to_alloctests, r=tgross35
...
Move some alloc tests to the alloctests crate
Unit tests directly inside of standard library crates require a very fragile way of building that is hard to reproduce outside of bootstrap.
2024-12-12 08:06:59 +01:00
Matthias Krüger
a4cf1f89ab
Rollup merge of #122003 - mati865:gnullvm-build-libunwind, r=petrochenkov
...
link libunwind dynamically and allow controlling it via `crt-static` on gnullvm targets
Alternative to https://github.com/rust-lang/rust/pull/121794
```
$ cargo b -r
Finished `release` profile [optimized] target(s) in 0.38s
$ ntldd target/release/hello.exe | rg unwind
libunwind.dll => H:\msys64\clang64\bin\libunwind.dll (0x0000020c35df0000)
$ RUSTFLAGS="-C target-feature=+crt-static" cargo b -r
Finished `release` profile [optimized] target(s) in 0.23s
$ ntldd target/release/hello.exe | rg unwind
```
2024-12-12 08:06:58 +01:00
Eric Huss
1bc58979a2
Stabilize the Rust 2024 prelude
2024-12-11 13:09:57 -08:00
bors
21fe748be1
Auto merge of #134177 - matthiaskrgr:rollup-hgp8q60, r=matthiaskrgr
...
Rollup of 6 pull requests
Successful merges:
- #132975 (De-duplicate and improve definition of core::ffi::c_char)
- #133598 (Change `GetManyMutError` to match T-libs-api decision)
- #134148 (add comments in check_expr_field)
- #134163 (coverage: Rearrange the code for embedding per-function coverage metadata)
- #134165 (wasm(32|64): update alignment string)
- #134170 (Subtree update of `rust-analyzer`)
r? `@ghost`
`@rustbot` modify labels: rollup
2024-12-11 19:06:46 +00:00
Matthias Krüger
2e60288ce0
Rollup merge of #133598 - ChayimFriedman2:get-many-mut-detailed-err, r=scottmcm
...
Change `GetManyMutError` to match T-libs-api decision
That is, differentiate between out-of-bounds and overlapping indices, and remove the generic parameter `N`.
I also exported `GetManyMutError` from `alloc` (and `std`), which was apparently forgotten.
Changing the error to carry additional details means LLVM no longer generates separate short-circuiting branches for the checks, instead it generates one branch at the end. I therefore changed the code to use early returns to make LLVM generate jumps. Benchmark results between the approaches are somewhat mixed, but I chose this approach because it is significantly faster with ranges and also faster with `unwrap()`.
Benchmark (`jumps` refer to short-circuiting, `acc` is not short-circuiting):
```rust
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use my_crate::{get_many_check_valid_acc, get_many_check_valid_jumps, GetManyMutError};
mod externs {
#[unsafe(no_mangle)]
fn foo() {}
#[unsafe(no_mangle)]
fn bar() {}
#[unsafe(no_mangle)]
fn baz() {}
}
unsafe extern "C" {
safe fn foo();
safe fn bar();
safe fn baz();
}
fn bench_method(c: &mut Criterion) {
c.bench_function("jumps two usize", |b| {
b.iter(|| get_many_check_valid_jumps(&[black_box(1), black_box(5)], black_box(10)))
});
c.bench_function("jumps two usize unwrap", |b| {
b.iter(|| get_many_check_valid_jumps(&[black_box(1), black_box(5)], black_box(10)).unwrap())
});
c.bench_function("jumps two usize ok", |b| {
b.iter(|| get_many_check_valid_jumps(&[black_box(1), black_box(5)], black_box(10)).ok())
});
c.bench_function("jumps three usize", |b| {
b.iter(|| {
get_many_check_valid_jumps(&[black_box(1), black_box(5), black_box(7)], black_box(10))
})
});
c.bench_function("jumps three usize match", |b| {
b.iter(|| {
match get_many_check_valid_jumps(
&[black_box(1), black_box(5), black_box(7)],
black_box(10),
) {
Err(GetManyMutError::IndexOutOfBounds) => foo(),
Err(GetManyMutError::OverlappingIndices) => bar(),
Ok(()) => baz(),
}
})
});
c.bench_function("jumps two Range", |b| {
b.iter(|| {
get_many_check_valid_jumps(
&[black_box(1)..black_box(5), black_box(7)..black_box(8)],
black_box(10),
)
})
});
c.bench_function("jumps two RangeInclusive", |b| {
b.iter(|| {
get_many_check_valid_jumps(
&[black_box(1)..=black_box(5), black_box(7)..=black_box(8)],
black_box(10),
)
})
});
c.bench_function("acc two usize", |b| {
b.iter(|| get_many_check_valid_acc(&[black_box(1), black_box(5)], black_box(10)))
});
c.bench_function("acc two usize unwrap", |b| {
b.iter(|| get_many_check_valid_acc(&[black_box(1), black_box(5)], black_box(10)).unwrap())
});
c.bench_function("acc two usize ok", |b| {
b.iter(|| get_many_check_valid_acc(&[black_box(1), black_box(5)], black_box(10)).ok())
});
c.bench_function("acc three usize", |b| {
b.iter(|| {
get_many_check_valid_acc(&[black_box(1), black_box(5), black_box(7)], black_box(10))
})
});
c.bench_function("acc three usize match", |b| {
b.iter(|| {
match get_many_check_valid_jumps(
&[black_box(1), black_box(5), black_box(7)],
black_box(10),
) {
Err(GetManyMutError::IndexOutOfBounds) => foo(),
Err(GetManyMutError::OverlappingIndices) => bar(),
Ok(()) => baz(),
}
})
});
c.bench_function("acc two Range", |b| {
b.iter(|| {
get_many_check_valid_acc(
&[black_box(1)..black_box(5), black_box(7)..black_box(8)],
black_box(10),
)
})
});
c.bench_function("acc two RangeInclusive", |b| {
b.iter(|| {
get_many_check_valid_acc(
&[black_box(1)..=black_box(5), black_box(7)..=black_box(8)],
black_box(10),
)
})
});
}
criterion_group!(benches, bench_method);
criterion_main!(benches);
```
Benchmark results:
```none
jumps two usize time: [586.44 ps 590.20 ps 594.50 ps]
jumps two usize unwrap time: [390.44 ps 393.63 ps 397.44 ps]
jumps two usize ok time: [585.52 ps 591.74 ps 599.38 ps]
jumps three usize time: [976.51 ps 983.79 ps 991.51 ps]
jumps three usize match time: [390.82 ps 393.80 ps 397.07 ps]
jumps two Range time: [1.2583 ns 1.2640 ns 1.2695 ns]
jumps two RangeInclusive time: [1.2673 ns 1.2770 ns 1.2877 ns]
acc two usize time: [592.63 ps 596.44 ps 600.52 ps]
acc two usize unwrap time: [582.65 ps 587.07 ps 591.90 ps]
acc two usize ok time: [581.59 ps 587.82 ps 595.71 ps]
acc three usize time: [894.69 ps 901.23 ps 908.24 ps]
acc three usize match time: [392.68 ps 395.73 ps 399.17 ps]
acc two Range time: [1.5531 ns 1.5617 ns 1.5711 ns]
acc two RangeInclusive time: [1.5746 ns 1.5840 ns 1.5939 ns]
```
2024-12-11 20:00:14 +01:00
Matthias Krüger
fe516ef9f4
Rollup merge of #132975 - arichardson:ffi-c-char, r=tgross35
...
De-duplicate and improve definition of core::ffi::c_char
Instead of having a list of unsigned char targets for each OS, follow the logic Clang uses and instead set the value based on architecture with a special case for Darwin and Windows operating systems. This makes it easier to support new operating systems targeting Arm/AArch64 without having to modify this config statement for each new OS. The new list does not quite match Clang since I noticed a few bugs in the Clang implementation (https://github.com/llvm/llvm-project/issues/115957 ).
Fixes https://github.com/rust-lang/rust/issues/129945
Closes https://github.com/rust-lang/rust/pull/131319
2024-12-11 20:00:12 +01:00
Zachary S
6a8bc4bc6b
Remove consteval note from <*mut T>::align_offset docs.
2024-12-11 12:56:12 -06:00
Jacob Pratt
43b4af5b77
Rollup merge of #134079 - tbu-:pr_doc_x8_to_from_xe_bytes, r=jhpratt
...
Add a note saying that `{u8,i8}::from_{be,le,ne}_bytes` is meaningless
2024-12-11 03:30:40 -05:00
Tobias Bucher
e37d7c0f15
Add a note saying that {u8,i8}::from_{be,le,ne}_bytes is meaningless
2024-12-11 02:18:17 +01:00
Samuel Thibault
f7ca820f7d
Forbid unsafe_op_in_unsafe_fn in hurd-specific os and sys files
...
Adding it did not cause any error. Most of this falls back on Unix already.
See #127747
2024-12-11 01:02:10 +01:00
León Orell Valerian Liehr
e822dfc415
Rollup merge of #134116 - RalfJung:const_nonnull_new, r=jhpratt
...
stabilize const_nonnull_new
FCP passed in https://github.com/rust-lang/rust/issues/93235
Closes #93235
2024-12-10 20:16:06 +01:00
León Orell Valerian Liehr
f621be4ecc
Rollup merge of #134100 - eholk:noop-rustc-const-stable, r=dtolnay
...
Remove rustc_const_stable attribute on const NOOP
This was accidentally reintroduced while editing #133089 .
r? dtolnay
2024-12-10 20:16:03 +01:00
Alex Richardson
dd3e98c58b
Add references to the specific ABI documents
...
Expcept for L4RE and Xtensa these were obtained from #131319
I could not find an open link to the Xtensa documentation, but the
signedness was confirmed by on of the Xtensa developers in
https://github.com/llvm/llvm-project/pull/115967#issuecomment-2506292323
Co-authored-by: Taiki Endo <te316e89@gmail.com >
2024-12-10 08:33:29 -08:00
Alex Richardson
e8bcce77bb
Remove l4re from the unsigned char operating system list
...
As noted in https://github.com/rust-lang/rust/pull/132975#issuecomment-2484645240 ,
the default for userland apps is to follow the architecture defaults, the
-funsigned-char flag only applies to kernel builds.
2024-12-10 08:33:29 -08:00
Alex Richardson
028ca8e616
De-duplicate and improve definition of core::ffi::c_char
...
Instead of having a list of unsigned char targets for each OS, follow the
logic Clang uses and instead set the value based on architecture with
a special case for Darwin and Windows operating systems. This makes it
easier to support new operating systems targeting Arm/AArch64 without
having to modify this config statement for each new OS. The new list does
not quite match Clang since I noticed a few bugs in the Clang
implementation (https://github.com/llvm/llvm-project/issues/115957 ).
Fixes: https://github.com/rust-lang/rust/issues/129945
2024-12-10 08:33:29 -08:00
Ralf Jung
a8d11ea20e
stabilize const_nonnull_new
2024-12-10 11:29:01 +01:00
León Orell Valerian Liehr
ce8d241396
Rollup merge of #133472 - rust-wasi-web:master, r=joboet
...
Run TLS destructors for wasm32-wasip1-threads
The target wasm32-wasip1-threads has support for pthreads and allows registration of TLS destructors.
For spawned threads, this registers Rust TLS destructors by creating a pthreads key with an attached destructor function.
For the main thread, this registers an `atexit` handler to run the TLS destructors.
try-job: test-various
2024-12-10 08:55:57 +01:00
León Orell Valerian Liehr
b1122b5054
Rollup merge of #133456 - clubby789:cargo-update, r=ChrisDenton
...
Add licenses + Run `cargo update`
Replaces #131311
try-job: dist-x86_64-linux
License changes:
- `unicode_ident` 1.0.14 introduces `(MIT OR Apache-2.0) AND Unicode-3.0`, but `unicode_ident` 1.0.12 (`(MIT OR Apache-2.0) AND Unicode-DFS-2016`) is still in tree
- `instant` and its license exception are no longer used
```
compiler & tools dependencies:
Updating allocator-api2 v0.2.18 -> v0.2.20
Updating anyhow v1.0.92 -> v1.0.93
Removing bitflags v1.3.2
Updating blake3 v1.5.4 -> v1.5.5
Updating bstr v1.10.0 -> v1.11.0
Updating bytes v1.8.0 -> v1.9.0
Updating cargo-platform v0.1.8 -> v0.1.9
Updating cc v1.2.0 -> v1.2.2
Updating clap v4.5.20 -> v4.5.21
Updating clap_builder v4.5.20 -> v4.5.21
Updating clap_complete v4.5.36 -> v4.5.38
Updating clap_lex v0.7.2 -> v0.7.3
Updating color-print v0.3.6 -> v0.3.7
Updating color-print-proc-macro v0.3.6 -> v0.3.7
Updating cpufeatures v0.2.14 -> v0.2.16
Updating curl-sys v0.4.77+curl-8.10.1 -> v0.4.78+curl-8.11.0
Updating errno v0.3.9 -> v0.3.10
Updating fastrand v2.1.1 -> v2.2.0
Updating flate2 v1.0.34 -> v1.0.35
Updating handlebars v5.1.2 -> v6.2.0
Adding icu_collections v1.5.0
Adding icu_normalizer v1.5.0
Adding icu_normalizer_data v1.5.0
Adding icu_properties v1.5.1
Adding icu_properties_data v1.5.0
Updating idna v0.5.0 -> v1.0.3
Adding idna_adapter v1.2.0
Updating indexmap v2.6.0 -> v2.7.0
Updating indicatif v0.17.8 -> v0.17.9
Removing instant v0.1.13
Updating itoa v1.0.11 -> v1.0.14
Updating js-sys v0.3.72 -> v0.3.74
Updating libc v0.2.164 -> v0.2.167
Updating libloading v0.8.5 -> v0.8.6
Updating litemap v0.7.3 -> v0.7.4
Updating mdbook v0.4.40 -> v0.4.43
Adding num-modular v0.6.1
Adding num-order v1.2.0
Updating pathdiff v0.2.2 -> v0.2.3
Updating portable-atomic v1.9.0 -> v1.10.0
Updating proc-macro2 v1.0.89 -> v1.0.92
Updating regex-automata v0.4.8 -> v0.4.9
Updating rustc-hash v2.0.0 -> v2.1.0
Updating rustc_apfloat v0.2.1+llvm-462a31f5a5ab -> v0.2.2+llvm-462a31f5a5ab
Updating rustix v0.38.38 -> v0.38.41
Updating schannel v0.1.26 -> v0.1.27
Updating serde v1.0.214 -> v1.0.215
Updating serde_derive v1.0.214 -> v1.0.215
Updating serde_json v1.0.132 -> v1.0.133
Updating socket2 v0.5.7 -> v0.5.8
Updating spdx v0.10.6 -> v0.10.7
Updating syn v2.0.87 -> v2.0.90
Updating tempfile v3.13.0 -> v3.14.0
Updating terminal_size v0.4.0 -> v0.4.1
Updating thiserror v1.0.66 -> v1.0.69 (available: v2.0.3)
Updating thiserror-impl v1.0.66 -> v1.0.69
Updating tokio v1.41.0 -> v1.41.1
Updating tracing-attributes v0.1.27 -> v0.1.28
Updating tracing-error v0.2.0 -> v0.2.1
Removing unicode-bidi v0.3.17
Updating unicode-ident v1.0.13 -> v1.0.14
Updating url v2.5.2 -> v2.5.4
Adding utf16_iter v1.0.5
Adding utf8_iter v1.0.4
Updating wasm-bindgen v0.2.95 -> v0.2.97
Updating wasm-bindgen-backend v0.2.95 -> v0.2.97
Updating wasm-bindgen-macro v0.2.95 -> v0.2.97
Updating wasm-bindgen-macro-support v0.2.95 -> v0.2.97
Updating wasm-bindgen-shared v0.2.95 -> v0.2.97
Updating wasm-encoder v0.220.0 -> v0.221.0
Adding wasmparser v0.221.0
Updating wast v219.0.1 -> v221.0.0
Updating wat v1.219.1 -> v1.221.0
Adding web-time v1.1.0
Adding write16 v1.0.0
Updating yoke v0.7.4 -> v0.7.5
Updating yoke-derive v0.7.4 -> v0.7.5
Updating zerofrom v0.1.4 -> v0.1.5
Updating zerofrom-derive v0.1.4 -> v0.1.5
library dependencies:
Updating allocator-api2 v0.2.18 -> v0.2.20
Updating cc v1.2.0 -> v1.2.2
Updating libc v0.2.162 -> v0.2.164
Updating unwinding v0.2.3 -> v0.2.4
rustbook dependencies:
Updating anstream v0.6.17 -> v0.6.18
Updating anyhow v1.0.92 -> v1.0.93
Updating bstr v1.10.0 -> v1.11.0
Updating cc v1.2.0 -> v1.2.2
Updating clap v4.5.20 -> v4.5.21
Updating clap_builder v4.5.20 -> v4.5.21
Updating clap_complete v4.5.36 -> v4.5.38
Updating clap_lex v0.7.2 -> v0.7.3
Updating cpufeatures v0.2.14 -> v0.2.16
Adding displaydoc v0.2.5
Updating errno v0.3.9 -> v0.3.10
Updating fastrand v2.1.1 -> v2.2.0
Updating flate2 v1.0.34 -> v1.0.35
Updating hashbrown v0.15.0 -> v0.15.2
Adding icu_collections v1.5.0
Adding icu_locid v1.5.0
Adding icu_locid_transform v1.5.0
Adding icu_locid_transform_data v1.5.0
Adding icu_normalizer v1.5.0
Adding icu_normalizer_data v1.5.0
Adding icu_properties v1.5.1
Adding icu_properties_data v1.5.0
Adding icu_provider v1.5.0
Adding icu_provider_macros v1.5.0
Updating idna v0.5.0 -> v1.0.3
Adding idna_adapter v1.2.0
Updating indexmap v2.6.0 -> v2.7.0
Updating itoa v1.0.11 -> v1.0.14
Updating js-sys v0.3.72 -> v0.3.74
Updating libc v0.2.161 -> v0.2.167
Adding litemap v0.7.4
Updating mdbook v0.4.42 -> v0.4.43
Updating pathdiff v0.2.2 -> v0.2.3
Updating proc-macro2 v1.0.89 -> v1.0.92
Updating regex-automata v0.4.8 -> v0.4.9
Updating rustix v0.38.38 -> v0.38.41
Updating serde v1.0.214 -> v1.0.215
Updating serde_derive v1.0.214 -> v1.0.215
Updating serde_json v1.0.132 -> v1.0.133
Adding stable_deref_trait v1.2.0
Updating syn v2.0.87 -> v2.0.90
Adding synstructure v0.13.1
Updating tempfile v3.13.0 -> v3.14.0
Updating terminal_size v0.4.0 -> v0.4.1
Updating thiserror v1.0.66 -> v1.0.69
Updating thiserror-impl v1.0.66 -> v1.0.69
Adding tinystr v0.7.6
Removing tinyvec v1.8.0
Removing tinyvec_macros v0.1.1
Removing unicode-bidi v0.3.17
Updating unicode-ident v1.0.13 -> v1.0.14
Removing unicode-normalization v0.1.24
Updating url v2.5.2 -> v2.5.4
Adding utf16_iter v1.0.5
Adding utf8_iter v1.0.4
Updating wasm-bindgen v0.2.95 -> v0.2.97
Updating wasm-bindgen-backend v0.2.95 -> v0.2.97
Updating wasm-bindgen-macro v0.2.95 -> v0.2.97
Updating wasm-bindgen-macro-support v0.2.95 -> v0.2.97
Updating wasm-bindgen-shared v0.2.95 -> v0.2.97
Adding write16 v1.0.0
Adding writeable v0.5.5
Adding yoke v0.7.5
Adding yoke-derive v0.7.5
Adding zerofrom v0.1.5
Adding zerofrom-derive v0.1.5
Adding zerovec v0.10.4
Adding zerovec-derive v0.10.3
```
2024-12-10 08:55:56 +01:00
León Orell Valerian Liehr
783362ddf9
Rollup merge of #133184 - osiewicz:wasm-fix-infinite-loop-in-remove-dir-all, r=Noratrieb
...
wasi/fs: Improve stopping condition for <ReadDir as Iterator>::next
When upgrading [Zed](https://github.com/zed-industries/zed/pull/19349 ) to Rust 1.82 I've encountered a test failure in our test suite. Specifically, one of our extension tests started hanging. I've tracked it down to a call to std::fs::remove_dir_all not returning when an extension is compiled with Rust 1.82 Our extension system uses WASM components, thus I've looked at the diff between 1.81 and 1.82 with respect to WASI and found 736f773844
As it turned out, calling remove_dir_all from extension returned io::ErrorKind::NotFound in 1.81; the underlying issue is that the ReadDir iterator never actually terminates iteration, however since it loops around, with 1.81 we'd come across an entry second time and fail to remove it, since it would've been removed previously. With 1.82 and 736f773844 it is no longer the case, thus we're seeing the hang. The tests do pass when everything but the extensions is compiled with 1.82.
This commit makes ReadDir::next adhere to readdir contract, namely it will no longer call readdir once the returned # of bytes is smaller than the size of a passed-in buffer. Previously we'd only terminate the loop if readdir returned 0.
2024-12-10 08:55:55 +01:00
Eric Holk
b9afc78585
Remove rustc_const_stable attribute on const NOOP
...
This was accidentally reintroduced while editing #133089 .
2024-12-09 15:08:30 -08:00
León Orell Valerian Liehr
e0f3db0056
Rollup merge of #134032 - snprajwal:fix-docs, r=joboet
...
docs: better examples for `std::ops::ControlFlow`
Fixes #133963 . Lesson learnt, never force-push from a bare clone of a repo 💀
2024-12-09 23:39:04 +01:00
joboet
49d76b8d0e
core: use public method instead of instrinsic
2024-12-09 13:27:06 +01:00
Jonas Böttiger
13c77ba34d
core: improve comments
...
Co-authored-by: Yotam Ofek <yotam.ofek@gmail.com >
Co-authored-by: Hanna Kruppe <hanna.kruppe@gmail.com >
2024-12-09 13:22:39 +01:00
bors
1b3fb31675
Auto merge of #134052 - matthiaskrgr:rollup-puxwqrk, r=matthiaskrgr
...
Rollup of 7 pull requests
Successful merges:
- #133567 (A bunch of cleanups)
- #133789 (Add doc alias 'then_with' for `then` method on `bool`)
- #133880 (Expand home_dir docs)
- #134036 (crash tests: use individual mir opts instead of mir-opt-level where easily possible)
- #134045 (Fix some triagebot mentions paths)
- #134046 (Remove ignored tests for hangs w/ new solver)
- #134050 (Miri subtree update)
r? `@ghost`
`@rustbot` modify labels: rollup
2024-12-09 03:24:24 +00:00
Matthias Krüger
fd7183c39d
Rollup merge of #133880 - ChrisDenton:homedir, r=Mark-Simulacrum
...
Expand home_dir docs
Since `home_dir` is set to be undeprecated, let's make the docs a bit more thorough.
2024-12-09 01:56:33 +01:00