about summary refs log tree commit diff
path: root/library/std
AgeCommit message (Collapse)AuthorLines
2023-09-19Rollup merge of #115839 - Dirreke:bump-libc, r=dtolnayGuillaume Gomez-1/+1
Bump libc to 0.2.148
2023-09-19Auto merge of #104101 - betrusted-io:xous-libstd-initial, r=bjorn3bors-6/+2476
Add initial libstd support for Xous This patchset adds some minimal support to the tier-3 target `riscv32imac-unknown-xous-elf`. The following features are supported: * alloc * thread creation and joining * thread sleeping * thread_local * panic_abort * mutex * condvar * stdout Additionally, internal support for the various Xous primitives surrounding IPC have been added as part of the Xous FFI. These may be exposed as part of `std::os::xous::ffi` in the future, however for now they are not public. This represents the minimum viable product. A future patchset will add support for networking and filesystem support.
2023-09-18panic when encountering an illegal cpumaskThe 8472-2/+4
2023-09-18get rid of duplicate primitive_docsRalf Jung-1603/+1
2023-09-17Rollup merge of #115477 - kellerkindt:stabilized_int_impl, r=dtolnayDylan DPC-2/+1
Stabilize the `Saturating` type Closes #87920 Closes #92354 Stabilization report https://github.com/rust-lang/rust/issues/87920#issuecomment-1652346124 FCP https://github.com/rust-lang/rust/issues/87920#issuecomment-1676438885
2023-09-17Rollup merge of #114965 - benschulz:mpsc-drop, r=dtolnayDylan DPC-15/+0
Remove Drop impl of mpsc Receiver and (Sync)Sender This change removes the empty `Drop` implementations for `mpsc::Receiver`, `mpsc::Sender` and `mpsc::SyncSender`. These implementations do not specify `#[may_dangle]`, so by removing them we make `mpsc` types play nice with drop check. This was previously attempted in [#105243](https://github.com/rust-lang/rust/pull/105243#issuecomment-1337188646) but then [abandoned due to a test failure](https://github.com/rust-lang/rust/pull/105243#issuecomment-1337227970). I've aligned the test with those for `Mutex` and `RwLock`.
2023-09-17Auto merge of #113753 - dvdsk:master, r=dtolnaybors-1/+81
Add implementation for thread::sleep_until - Feature gate is `thread::sleep_until` - Tracking issue is: #113752 - APC: https://github.com/rust-lang/libs-team/issues/237
2023-09-16Rollup merge of #115329 - xzmeng:fix-std-doc, r=dtolnayMatthias Krüger-4/+4
fix std::primitive doc: homogenous -> homogeneous replace "homogenous" with the more commonly used "homogeneous".
2023-09-16Rollup merge of #115247 - the8472:life-before-main, r=dtolnayMatthias Krüger-1/+25
Document std limitations before/after main Solves #110708
2023-09-14Bump libc to 0.2.148dirreke-1/+1
2023-09-13Disabled socketpair for VitaNikolay Arhipov-2/+2
2023-09-11Refactor `thread_info` to remove the `RefCell`Trevor Gross-16/+21
`thread_info` currently uses `RefCell`-based initialization. Refactor this to use `OnceCell` instead which is more performant and better suits the needs of one-time initialization.
2023-09-10Auto merge of #114967 - japaric:ja-gh114966, r=Mark-Simulacrumbors-0/+4
QNX: pass a truncated thread name to the OS The maximum length the thread name can have is `_NTO_THREAD_NAME_MAX` fixes #114966
2023-09-09Auto merge of #114590 - ijackson:stdio-stdio-2, r=dtolnaybors-11/+134
Allow redirecting subprocess stdout to our stderr etc. (redux) This is the code from #88561, tidied up, including review suggestions, and with the for-testing-only CI commit removed. FCP for the API completed in #88561. I have made a new MR to facilitate review. The discussion there is very cluttered and the branch is full of changes (in many cases as a result of changes to other Rust stdlib APIs since then). Assuming this MR is approvedl we should close that one. ### Reviewer doing a de novo review Just code review these four commits.. FCP discussion starts here: https://github.com/rust-lang/rust/pull/88561#issuecomment-1640527595 Portability tests: you can see that this branch works on Windows too by looking at the CI results in #88561, which has the same code changes as this branch but with an additional "DO NOT MERGE" commit to make the Windows tests run. ### Reviewer doing an incremental review from some version of #88561 Review the new commits since your last review. I haven't force pushed the branch there. git diff the two branches (eg `git diff 176886197d6..0842b69c219`). You'll see that the only difference is in gitlab CI files. You can also see that *this* MR doesn't touch those files.
2023-09-09std::process (unsupported): Implement From<io::Stdout> etc. for imp::StdioIan Jackson-0/+20
This implementation is wrong. Like the impl for From<File>, it is forced to panic because process::Stdio in unsupported/process.rs doesn't have a suitable variant. The root cause of the problem is that process::Stdio in unsupported/process.rs has any information in it at all. I'm pretty sure that it should just be a unit struct. However, making that build on all platforms is going to be a lot of work, iterating through CI and/or wrestling Docker. I don't think this extra panic is making things significantly worse. For now I have added some TODOs.
2023-09-07Don't modify libstd to dump rustc ICEsMichael Goulet-32/+7
2023-09-06fix typoRalf Jung-1/+1
Co-authored-by: Marcin S. <marcin@realemail.net>
2023-09-06Auto merge of #115453 - ibraheemdev:patch-16, r=joshtriplettbors-3/+1
Stabilize `io_error_other` feature Per the FCP for https://github.com/rust-lang/rust/issues/91946.
2023-09-04"what would rustfmt do"Tshepang Mbambo-71/+69
2023-09-04Auto merge of #115493 - Ayush1325:raw-os-error, r=workingjubileebors-4/+3
Move RawOsError defination to sys This was originally a part of https://github.com/rust-lang/rust/pull/105861, but I feel it should be its own PR since the raw os error is still unstable.
2023-09-03Rollup merge of #115512 - Fulgen301:startupinfow, r=ChrisDentonMatthias Krüger-1/+1
Command::spawn: Fix STARTUPINFOW.cb being initialized with the address of size_of Fixes #115511.
2023-09-03Rollup merge of #115489 - saethlin:is-interrupted, r=thomccMatthias Krüger-17/+18
Use std::io::Error::is_interrupted everywhere In https://github.com/rust-lang/rust/pull/115228 I introduced this helper and started using it, this PR uses it to replace all applicable uses of `std::io::Error::kind`. The justification is the same; for whatever reason LLVM totally flops optimizing `Error::kind` so it's nice to use it less. FYI ``@mkroening`` I swear the hermit changes look good, but I was so sure about the previous PR.
2023-09-03Command::spawn: Fix STARTUPINFOW.cb being initialized with the address of ↵Fulgen301-1/+1
size_of
2023-09-03Use std::io::Error::is_interrupted everywhereBen Kimock-17/+18
2023-09-03Move RawOsError defination to sysAyush Singh-4/+3
Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2023-09-03Stabilize the Saturating type (saturating_int_impl, gh-87920)Michael Watzko-2/+1
Also stabilizes saturating_int_assign_impl, gh-92354. And also make pub fns const where the underlying saturating_* fns became const in the meantime since the Saturating type was created.
2023-09-02Rollup merge of #115443 - epage:os_str, r=cuviperMatthias Krüger-90/+86
feat(std): Stabilize 'os_str_bytes' feature Closes #111544
2023-09-02Rollup merge of #115427 - solid-rs:patch/kmc-solid/is-interrupted, r=cuviperMatthias Krüger-8/+2
kmc-solid: Fix `is_interrupted` Follow-up to #115228. Fixes a build error in [`*-kmc-solid_*`](https://doc.rust-lang.org/nightly/rustc/platform-support/kmc-solid.html) Tier 3 targets. ``` error[E0603]: function `is_interrupted` is private --> library\std\src\sys\solid\mod.rs:77:12 | 77 | error::is_interrupted(code) | ^^^^^^^^^^^^^^ private function | note: the function `is_interrupted` is defined here --> library\std\src\sys\solid\error.rs:35:1 | 35 | fn is_interrupted(er: abi::ER) -> bool { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ```
2023-09-01don't panic in BorrowedCursor::writeZachary S-2/+3
2023-09-01fix(std): Rename os_str_bytes to encoded_bytesEd Page-82/+82
2023-09-01stabilize `io_error_other` featureIbraheem Ahmed-3/+1
2023-09-01feat(std): Stabilize 'os_str_bytes' featureEd Page-8/+4
Closes #111544
2023-09-01Auto merge of #114448 - SteveLauC:std_fs_read_doc, r=Mark-Simulacrumbors-5/+7
docs: improve std::fs::read doc #### What does this PR do 1. Rephrase a confusing sentence in the document of `std::fs::read()` ----- Closes #114432 cc `@Dexus0` `@saethlin`
2023-09-01kmc-solid: Refactor `is_interrupted` to avoid integer overflowTomoaki Kawada-2/+1
2023-09-01docs: improve std::fs::read docSteve Lau-5/+7
2023-09-01kmc-solid: Directly delegate to `net::is_interrupted` in ↵Tomoaki Kawada-6/+1
`std::sys::solid::is_interrupted`
2023-08-29std::thread::set_name exploit the return on haikuDavid CARLIER-1/+3
2023-08-29further expand on Arc and Box analogyRalf Jung-3/+6
2023-08-29rewording after comments by @thomccMarc Schoolderman-5/+5
2023-08-29Auto merge of #115312 - hermitcore:hermit-is_interrupted, r=thomccbors-0/+5
fix(sys/hermit): add is_interrupted https://github.com/rust-lang/rust/pull/115228 broke compilation for Hermit by not adding a Hermit implementation of is_interrupted.
2023-08-29Auto merge of #115309 - hermitcore:hermit-net-init, r=cuviperbors-8/+1
fix(sys/hermit): remove obsolete network initialization This function does not exist as of hermit-sys 0.4.1 ([`e38f246`]). Once std does not call this function, we can remove it entirely. CC: `@stlankes` [`e38f246`]: https://github.com/hermitcore/hermit-rs/commit/e38f246e046c3ad50bd2f5e33d8d810d33891cbd#diff-a9b7fa816defab285f0d4fe69d4df4a0cbbcf1c89913000df3273aded949f257R10
2023-08-29fix std::primitive doc: homogenous -> homogeneousMeng Xiangzhuo-3/+3
2023-08-29fix a doc typo at std::os::unix::fs::FileExt::write_atMeng Xiangzhuo-1/+1
2023-08-28Remove old bindings that have been movedChris Denton-7/+1
2023-08-28Add GetActiveProcessorCount and process attributesChris Denton-0/+7
2023-08-28Abstract over internal `SOCKET` typeChris Denton-20/+26
This allows `SOCKET` to be `usize` internally
2023-08-28Update windows ffi bindingsChris Denton-98/+82
2023-08-28Rollup merge of #115310 - RalfJung:panic-and-format, r=scottmcmMatthias Krüger-0/+12
Document panic behavior across editions, and improve xrefs This revives (parts of) https://github.com/rust-lang/rust/pull/96518. r? `@scottmcm` Cc `@ijackson`
2023-08-28Auto merge of #114848 - michaelvanstraten:spawn_with_attributes, r=ChrisDentonbors-2/+306
Add ability to spawn Windows process with Proc Thread Attributes | Take 2 This is the second attempt to merge pull request #88193 into the standard library. This PR implements the ability to add arbitrary attributes to a command on Windows targets using a new `raw_attribute` method on the [`CommandExt`](https://doc.rust-lang.org/stable/std/os/windows/process/trait.CommandExt.html) trait. `@TyPR124` and my main motivation behind adding this feature is to enable the support of pseudo terminals in the std library, but there are many more applications. A good starting point to get into this topic is to head over to the [`Win32 API documentation`](https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-updateprocthreadattribute).
2023-08-28fix(sys/hermit): add is_interruptedMartin Kröning-0/+5
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>