Josh Stone
f4d9d1a0ea
Use &raw
in the standard library
...
Since the stabilization in #127679 has reached stage0, 1.82-beta, we can
start using `&raw` freely, and even the soft-deprecated `ptr::addr_of!`
and `ptr::addr_of_mut!` can stop allowing the unstable feature.
I intentionally did not change any documentation or tests, but the rest
of those macro uses are all now using `&raw const` or `&raw mut` in the
standard library.
2024-09-25 17:03:20 -07:00
Matthias Krüger
e805182fcc
Rollup merge of #130842 - Noratrieb:tracking-issue-inprogress, r=jieyouxu
...
Add tracking issue for io_error_inprogress
I forgot to mention this in #130789
2024-09-25 20:11:01 +02:00
Matthias Krüger
3ee3e063c1
Rollup merge of #130811 - RalfJung:random, r=joboet
...
add link from random() helper fn to extensive DefaultRandomSource docs
2024-09-25 20:10:59 +02:00
nora
ded22ea181
Add tracking issue for io_error_inprogress
2024-09-25 17:40:55 +02:00
bors
2933f68abe
Auto merge of #130816 - matthiaskrgr:rollup-jy25phv, r=matthiaskrgr
...
Rollup of 6 pull requests
Successful merges:
- #130549 (Add RISC-V vxworks targets)
- #130595 (Initial std library support for NuttX)
- #130734 (Fix: ices on virtual-function-elimination about principal trait)
- #130787 (Ban combination of GCE and new solver)
- #130809 (Update llvm triple for OpenHarmony targets)
- #130810 (Don't trap into the debugger on panics under Linux)
r? `@ghost`
`@rustbot` modify labels: rollup
2024-09-25 08:43:14 +00:00
Matthias Krüger
9d134cc26a
Rollup merge of #130810 - kromych:master, r=workingjubilee
...
Don't trap into the debugger on panics under Linux
This breaks `rr`, see https://github.com/rust-lang/rust/pull/129019#issuecomment-2369361278 for the discussion
CC `@khuey` `@workingjubilee`
2024-09-25 10:09:24 +02:00
Matthias Krüger
5b727870fa
Rollup merge of #130595 - no1wudi:master, r=ibraheemdev
...
Initial std library support for NuttX
This PR add the initial libstd support for NuttX platform (Tier 3), currently it depends on https://github.com/rust-lang/libc/pull/3909 which provide the essential libc definitions.
2024-09-25 10:09:22 +02:00
Matthias Krüger
508b433e27
Rollup merge of #130549 - biabbas:riscv32_wrs_vxworks, r=nnethercote
...
Add RISC-V vxworks targets
Risc-V 32 and RISC-V 64 targets are to be added in the target list.
2024-09-25 10:09:22 +02:00
Ralf Jung
1fe049ad57
add link from random() helper fn to extensive DefaultRandomSource docs
2024-09-25 08:25:36 +02:00
bors
4c62024cd5
Auto merge of #130803 - cuviper:file-buffered, r=joshtriplett
...
Add `File` constructors that return files wrapped with a buffer
In addition to the light convenience, these are intended to raise visibility that buffering is something you should consider when opening a file, since unbuffered I/O is a common performance footgun to Rust newcomers.
ACP: https://github.com/rust-lang/libs-team/issues/446
Tracking Issue: #130804
2024-09-25 04:57:12 +00:00
kromych
49d1c3b433
Don't trap into the debugger on panics under Linux
...
This breaks `rr`, see https://github.com/rust-lang/rust/pull/129019#issuecomment-2369361278
for the discussion
CC @khuey @workingjubilee
2024-09-24 19:52:14 -07:00
Trevor Gross
147aa8611a
Rollup merge of #130789 - aviramha:add_inprogress, r=Noratrieb
...
add InProgress ErrorKind gated behind io_error_inprogress feature
Follow up on https://github.com/rust-lang/libs-team/issues/92#issuecomment-2371666560
2024-09-24 19:47:51 -04:00
Josh Stone
458537ebc0
Add a tracking issue for file_buffered
2024-09-24 15:06:55 -07:00
Josh Stone
0999b019f8
Dogfood feature(file_buffered)
2024-09-24 14:25:16 -07:00
Josh Stone
1e9a50dde8
Pre-allocate buffers in File::open_buffered
and create_buffered
2024-09-24 13:33:31 -07:00
Josh Stone
ee129b12ed
Add File::open_buffered
and create_buffered
2024-09-24 13:32:29 -07:00
Aviram Hassan
46fd76e9a5
add InProgress ErrorKind gated behind io_error_inprogress feature
...
Co-authored-by: David Tolnay <dtolnay@gmail.com>
Co-authored-by: nora <48135649+Noratrieb@users.noreply.github.com>
2024-09-24 20:49:56 +03:00
Trevor Gross
e95d15a115
Pin memchr to 2.5.0 in the library rather than rustc_ast
...
The latest versions of `memchr` experience LTO-related issues when
compiling for windows-gnu [1], so needs to be pinned. The issue is
present in the standard library.
`memchr` has been pinned in `rustc_ast`, but since the workspace was
recently split, this pin no longer has any effect on library crates.
Resolve this by adding `memchr` as an _unused_ dependency in `std`,
pinned to 2.5. Additionally, remove the pin in `rustc_ast` to allow
non-library crates to upgrade to the latest version.
Link: https://github.com/rust-lang/rust/issues/127890 [1]
2024-09-24 18:09:43 +02:00
Huang Qi
24f622cf80
Initial std library support for NuttX
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2024-09-24 15:35:40 +08:00
Michael Goulet
0a0ea28f26
Rollup merge of #129545 - notriddle:notriddle/toolbar-v2, r=GuillaumeGomez
...
rustdoc: redesign toolbar and disclosure widgets
Fixes #77899
Fixes #90310
## Preview
| before | after
| ------ | -----
| ![image](https://github.com/user-attachments/assets/ebeec185-3a72-481d-921e-a9a885f348d9 ) | ![image](https://github.com/user-attachments/assets/08735a65-99d1-4523-ab77-ddb164c0a5db )
| ![image](https://github.com/user-attachments/assets/ae8e0f24-49cb-445d-b9bd-cec9c57b94e7 ) | ![image](https://github.com/user-attachments/assets/ba484f94-b031-41fc-b8a8-6cd81be8fb6b )
| ![image](https://github.com/user-attachments/assets/8c2cc041-a138-4950-a12e-3d529c8a5339 ) | ![image](https://github.com/user-attachments/assets/e7f010bd-19e2-4711-85bf-3fd00c3e5647 )
| ![image](https://github.com/user-attachments/assets/e2b63785-971c-489e-b069-eb85f6a30620 ) | ![image](https://github.com/user-attachments/assets/b65eea16-d6a3-4aa3-8a27-6ded74009010 )
| ![image](https://github.com/user-attachments/assets/1c7b0901-a61a-4325-9d01-9d8b14b476aa ) | ![image](https://github.com/user-attachments/assets/d4a485db-d9f1-4a62-94bc-a3d125ea6dc1 )
| N/A | ![image](https://github.com/user-attachments/assets/7add0a2a-7fd7-483d-87ee-51ee45a2fe5d )
| ![image](https://github.com/user-attachments/assets/334f50bc-9f8d-42d9-a7df-95058f7cdfd5 ) | ![image](https://github.com/user-attachments/assets/451fcc22-b034-453c-ae4b-b948fd6bd779 )
| ![image](https://github.com/user-attachments/assets/132f720c-802a-466d-bd55-c7a4750acdc3 ) | ![image](https://github.com/user-attachments/assets/177b7921-06c5-467d-87d3-9cdf88c4e50b )
https://notriddle.com/rustdoc-html-demo-12/toolbar-v2/std/index.html
## Description
This adds labels to the icons and moves them away from the search box.
These changes are made together, because they work together, but are based on several complaints:
* The [+/-] thing are a Reddit-ism. They don't look like buttons, but look like syntax <https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/More.20visual.20difference.20for.20the.20.2B.2F-.20.20Icons >, <https://github.com/rust-lang/rust/issues/59851 > (some of these are laundry lists with more suggestions, but they all mention [+/-] looking wrong)
* The settings, help, and summary buttons are also too hard to recognize <https://lwn.net/Articles/987070/ >, <https://github.com/rust-lang/rust/issues/90310 >, <https://github.com/rust-lang/rust/issues/14475#issuecomment-274241997 >, <https://internals.rust-lang.org/t/improve-rustdoc-design/12758 > ("Not all functionality is self-explanatory, for example the [+] button in the top right corner, the theme picker or the settings button.")
The toggle-all and toggle-individual buttons both need done at once, since we want them to look like they go together. This changes them from both being [+/-] to both being arrows.
CC <https://github.com/rust-lang/rust/pull/113074#issuecomment-1677469680 > and ``@jsha`` regarding the use of triangles for disclosure, which is what everyone wanted, but was pending a good toggle-all button. This PR adds a toggle-all button that should work.
Settings and Help are also migrated, so that the whole group can benefit from being described using actual words.
The breadcrumbs also get redesigned, so that they use less space, by shrinking the parent module path parts. This is done at the same time as the toolbar redesign because it's, effectively, moving space from the toolbar to the breadcrumbs.
This is aimed at avoiding any line wrapping at desktop sizes.
## Prior art
This style of toolbar, with explicit labels on the buttons, used to be more popular. It's not very common in web browsers nowadays, and for truly universal icons like ⬅️ I can understand why, but words are great when icons fail.
![image](https://github.com/user-attachments/assets/9a4a0498-232d-4d60-87b9-f601f4515254 )
2024-09-23 23:49:11 -04:00
Michael Howell
e31a719cce
Fix up standard library intro
2024-09-23 09:21:39 -07:00
joboet
e94dd9b712
random: add tracking issue, address other comments
2024-09-23 10:36:16 +02:00
joboet
b9d47cfa9b
std: switch to faster random sources on macOS and most BSDs
2024-09-23 10:36:16 +02:00
joboet
5c1c725724
std: implement the random
feature
...
Implements the ACP https://github.com/rust-lang/libs-team/issues/393 .
2024-09-23 10:29:51 +02:00
Matthias Krüger
004213b77d
Rollup merge of #130723 - D0liphin:master, r=workingjubilee
...
Add test for `available_parallelism()`
This is a redo of [this PR](https://github.com/rust-lang/rust/pull/104095 ).
I changed the location of the test as per comments in the original thread. Otherwise the test is practically the same.
try-job: test-various
2024-09-23 06:45:37 +02:00
Michael Goulet
c682aa162b
Reformat using the new identifier sorting from rustfmt
2024-09-22 19:11:29 -04:00
Oli Iliffe
e9b0bc9432
Add test for available_parallelism()
...
This is a redo of (this PR)[https://github.com/rust-lang/rust/pull/104095 ].
Add test for available_parallelism
Add test for available_parallelism
Add test for
Add test for
2024-09-22 23:46:08 +01:00
The 8472
ca1a2a6457
wait for two short reads before uncapping the max read size
...
for disk IO:
1st short read = probably at end of file
2nd short read = confirming that it's indeed EOF
2024-09-21 18:50:29 +02:00
Matthias Krüger
f2290c23fc
Rollup merge of #129718 - lolbinarycat:remove_dir-docs, r=Noratrieb
...
add guarantee about remove_dir and remove_file error kinds
approved in ACP https://github.com/rust-lang/libs-team/issues/433
2024-09-21 07:22:47 +02:00
bors
da889684c8
Auto merge of #130631 - GuillaumeGomez:rollup-jpgy1iv, r=GuillaumeGomez
...
Rollup of 7 pull requests
Successful merges:
- #128209 (Remove macOS 10.10 dynamic linker bug workaround)
- #130526 (Begin experimental support for pin reborrowing)
- #130611 (Address diagnostics regression for `const_char_encode_utf8`.)
- #130614 (Add arm64e-apple-tvos target)
- #130617 (bail if there are too many non-region infer vars in the query response)
- #130619 (Fix scraped examples height)
- #130624 (Add `Vec::as_non_null`)
r? `@ghost`
`@rustbot` modify labels: rollup
2024-09-20 19:51:45 +00:00
nora
c72264157b
Remove double spaces
2024-09-20 19:55:28 +02:00
Guillaume Gomez
bf6389f077
Rollup merge of #128209 - beetrees:no-macos-10.10, r=jieyouxu
...
Remove macOS 10.10 dynamic linker bug workaround
Rust's current minimum macOS version is 10.12, so the hack can be removed. This PR also updates the `remove_dir_all` docs to reflect that all supported macOS versions are protected against TOCTOU race conditions (the fallback implementation was already removed in #127683 ).
try-job: dist-x86_64-apple
try-job: dist-aarch64-apple
try-job: dist-apple-various
try-job: aarch64-apple
try-job: x86_64-apple-1
2024-09-20 19:46:37 +02:00
bors
5ba6db1b64
Auto merge of #124895 - obeis:static-mut-hidden-ref, r=compiler-errors
...
Disallow hidden references to mutable static
Closes #123060
Tracking:
- https://github.com/rust-lang/rust/issues/123758
2024-09-20 17:25:34 +00:00
B I Mohammed Abbas
4957eda2c1
Allow unused unsafe for vxworks in alligned_malloc to resolve build errors
2024-09-20 17:27:16 +05:30
GnomedDev
98e68e5040
[Clippy] Remove final std paths for diagnostic item
2024-09-20 10:39:31 +01:00
Matthias Krüger
553c20cc92
Rollup merge of #130554 - ShE3py:unsupported-exitcode, r=Noratrieb
...
`pal::unsupported::process::ExitCode`: use an `u8` instead of a `bool`
`ExitCode` should “represents the status code the current process can return to its parent under normal termination”, but is currently represented as a `bool` on unsupported platforms, making the `impl From<u8> for ExitCode` lossy.
Fixes #130532 .
History: [IRLO thread](https://internals.rust-lang.org/t/mini-pre-rfc-redesigning-process-exitstatus/5426 ) (`ExitCode` as a `main` return), #48618 (initial impl), #93445 (`From<u8>` impl).
2024-09-19 20:37:08 +02:00
Lieselotte
dc628c8ecb
pal::unsupported::process::ExitCode
: use an u8
instead of a bool
2024-09-19 14:22:50 +02:00
GnomedDev
b2eebeeea9
[Clippy] Swap open_options
to use diagnostic items instead of paths
2024-09-19 13:13:43 +01:00
GnomedDev
364e552940
[Clippy] Swap iter_over_hash_type
to use diagnostic items instead of paths
2024-09-19 13:13:43 +01:00
GnomedDev
43b8e04d46
[Clippy] Swap non_octal_unix_permissions
to use diagnostic item instead of path
2024-09-19 13:13:43 +01:00
GnomedDev
1890620b26
[Clippy] Swap instant_subtraction
to use diagnostic item instead of path
2024-09-19 13:13:42 +01:00
GnomedDev
037b9784b6
[Clippy] Swap manual_main_separator_str
to use diagnostic item instead of path
2024-09-19 13:13:20 +01:00
GnomedDev
afe7907914
[Clippy] Swap redundant_clone
to use diagnostic items instead of paths
2024-09-19 13:13:20 +01:00
GnomedDev
5e4716888a
[Clippy] Swap option_as_ref_deref
to use diagnostic items instead of paths
2024-09-19 13:13:19 +01:00
GnomedDev
a786be5d06
[Clippy] Swap map_entry
to use diagnostic items instead of paths
2024-09-19 08:26:37 +01:00
Jubilee
4bd9de5512
Rollup merge of #130522 - GnomedDev:clippy-manual-retain-paths, r=compiler-errors
...
[Clippy] Swap `manual_retain` to use diagnostic items instead of paths
Part of https://github.com/rust-lang/rust-clippy/issues/5393 , just a chore.
2024-09-18 14:32:28 -07:00
Jubilee
4d9ce4b4b3
Rollup merge of #130513 - shekhirin:fs-write-doc-comment, r=cuviper
...
Clarify docs for std::fs::File::write
This PR fixes the doc comment for `std::fs::File::write` method.
2024-09-18 14:32:27 -07:00
Jubilee
12b59e52bc
Rollup merge of #130476 - workingjubilee:more-lazy-methods-take-2, r=Amanieu
...
Implement ACP 429: add `Lazy{Cell,Lock}::get[_mut]` and `force_mut`
Tracking issue for `lazy_get`: https://github.com/rust-lang/rust/issues/129333
2024-09-18 14:32:26 -07:00
Jubilee
591ec6c9ce
Rollup merge of #129934 - ChrisDenton:remove-dir-all3, r=Amanieu
...
Win: Open dir for sync access in remove_dir_all
A small follow up to #129800 .
We should explicitly open directories for synchronous access. We ultimately use `GetFileInformationByHandleEx` to read directories which should paper over any issues caused by using async directory reads (or else return an error) but it's better to do the right thing in the first place. Note though that `delete` does not read or write any data so it's not necessary there.
2024-09-18 14:32:25 -07:00
Jubilee
4722ad149e
Rollup merge of #97524 - ibraheemdev:thread-raw, r=ibraheemdev
...
Add `Thread::{into_raw, from_raw}`
Public API:
```rust
#![unstable(feature = "thread_raw", issue = "97523")]
impl Thread {
pub fn into_raw(self) -> *const ();
pub unsafe fn from_raw(ptr: *const ()) -> Thread;
}
```
ACP: https://github.com/rust-lang/libs-team/issues/200
2024-09-18 14:32:23 -07:00