Uh oh!
There was an error while loading. Please reload this page.
Unix implementation for stdio set/take/replace - #150668
Conversation
rustbot
commented
Jan 4, 2026
rustbot has assigned @Mark-Simulacrum. Use |
This comment has been minimized.
This comment has been minimized.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| fn replace_stdio_fd(this: BorrowedFd<'_>, other: OwnedFd) -> io::Result<()> { | ||
| cfg_select! { | ||
| not(any( | ||
| target_arch = "wasm32", |
There was a problem hiding this comment.
wasip1 supports fd_renumber which is like dup2 except moving the fd rather than duplicating it.
There was a problem hiding this comment.
But wasip1 doesn't implement try_clone_to_owned, so replace and take won't work. But ok, we can still support set with that.
the8472
commented
Jan 5, 2026
@bors r=Mark-Simulacrum |
bors
commented
Jan 5, 2026
Unix implementation for stdio set/take/replace Tracking issue: rust-lang#150667 ACP: rust-lang/libs-team#500
Unix implementation for stdio set/take/replace Tracking issue: rust-lang#150667 ACP: rust-lang/libs-team#500
Unix implementation for stdio set/take/replace Tracking issue: rust-lang#150667 ACP: rust-lang/libs-team#500
Rollup of 8 pull requests Successful merges: - #144113 (Impls and impl items inherit `dead_code` lint level of the corresponding traits and trait items) - #149880 (rustc_codegen_llvm: update alignment for double on AIX) - #150668 (Unix implementation for stdio set/take/replace) - #150670 (THIR pattern building: Move all `thir::Pat` creation into `rustc_mir_build::thir::pattern`) - #150695 (MGCA: pretty printing for struct expressions and tuple calls ) - #150698 (Improve comment clarity in candidate_may_shadow) - #150706 (Update wasm-component-ld) - #150710 (Update libc dependency of std) r? `@ghost` `@rustbot` modify labels: rollup
Zalathar
commented
Jan 6, 2026
I don't think this is responsible for rollup failure in #150718 (comment), but let's double-check: @bors try jobs=dist-ohos-armv7 |
Unix implementation for stdio set/take/replace try-job: dist-ohos-armv7
This comment has been minimized.
This comment has been minimized.
Unix implementation for stdio set/take/replace Tracking issue: rust-lang#150667 ACP: rust-lang/libs-team#500
RalfJung
commented
Jan 9, 2026
Miri patch LGTM, thanks. You can change that fail-dep test into a pass-dep test. |
std supports redirecting stdio file descriptors.
the8472
commented
Jan 9, 2026
@bors r=Mark-Simulacrum,RalfJung |
…Jung Unix implementation for stdio set/take/replace Tracking issue: rust-lang#150667 ACP: rust-lang/libs-team#500
…Jung Unix implementation for stdio set/take/replace Tracking issue: rust-lang#150667 ACP: rust-lang/libs-team#500
…Jung Unix implementation for stdio set/take/replace Tracking issue: rust-lang#150667 ACP: rust-lang/libs-team#500
…Jung Unix implementation for stdio set/take/replace Tracking issue: rust-lang#150667 ACP: rust-lang/libs-team#500
…Jung Unix implementation for stdio set/take/replace Tracking issue: rust-lang#150667 ACP: rust-lang/libs-team#500
Rollup of 14 pull requests Successful merges: - #148941 (stabilize `Peekable::next_if_map` (`#![feature(peekable_next_if_map)]`)) - #150368 (adding Ordering enum to minicore.rs, importing minicore in "tests/assembly-llvm/rust-abi-arg-attr.rs" test file) - #150668 (Unix implementation for stdio set/take/replace) - #150743 (Reword the collect() docs) - #150776 (Fix the connect_error test on FreeBSD 15+) - #150781 (Use `rand` crate more idiomatically) - #150786 (mGCA: Support array expression as direct const arguments) - #150812 (Bump `diesel` to the most recent commit in `cargotest`) - #150862 (std: sys: fs: uefi: Implement File::flush) - #150873 (Reenable GCC CI download) - #150908 (llvm: Update `reliable_f16` configuration for LLVM22) - #150918 (std: sys: fs: uefi: Implement File::seek) - #150922 (Subscribe myself to attr parsing) - #150930 (Remove special case for `AllowedTargets::CrateLevel`) r? @ghost
Rollup of 14 pull requests Successful merges: - #148941 (stabilize `Peekable::next_if_map` (`#![feature(peekable_next_if_map)]`)) - #150368 (adding Ordering enum to minicore.rs, importing minicore in "tests/assembly-llvm/rust-abi-arg-attr.rs" test file) - #150668 (Unix implementation for stdio set/take/replace) - #150743 (Reword the collect() docs) - #150776 (Fix the connect_error test on FreeBSD 15+) - #150781 (Use `rand` crate more idiomatically) - #150812 (Bump `diesel` to the most recent commit in `cargotest`) - #150862 (std: sys: fs: uefi: Implement File::flush) - #150873 (Reenable GCC CI download) - #150908 (llvm: Update `reliable_f16` configuration for LLVM22) - #150918 (std: sys: fs: uefi: Implement File::seek) - #150922 (Subscribe myself to attr parsing) - #150930 (Remove special case for `AllowedTargets::CrateLevel`) - #150942 (Port `#[rustc_has_incoherent_inherent_impls]` to attribute parser) Failed merges: - #150943 (Port `#[must_not_suspend]` to attribute parser) r? @ghost
Uh oh!
There was an error while loading. Please reload this page.
Rollup merge of #150668 - stdio-swap, r=Mark-Simulacrum,RalfJung Unix implementation for stdio set/take/replace Tracking issue: #150667 ACP: rust-lang/libs-team#500
Rollup of 14 pull requests Successful merges: - rust-lang/rust#148941 (stabilize `Peekable::next_if_map` (`#![feature(peekable_next_if_map)]`)) - rust-lang/rust#150368 (adding Ordering enum to minicore.rs, importing minicore in "tests/assembly-llvm/rust-abi-arg-attr.rs" test file) - rust-lang/rust#150668 (Unix implementation for stdio set/take/replace) - rust-lang/rust#150743 (Reword the collect() docs) - rust-lang/rust#150776 (Fix the connect_error test on FreeBSD 15+) - rust-lang/rust#150781 (Use `rand` crate more idiomatically) - rust-lang/rust#150812 (Bump `diesel` to the most recent commit in `cargotest`) - rust-lang/rust#150862 (std: sys: fs: uefi: Implement File::flush) - rust-lang/rust#150873 (Reenable GCC CI download) - rust-lang/rust#150908 (llvm: Update `reliable_f16` configuration for LLVM22) - rust-lang/rust#150918 (std: sys: fs: uefi: Implement File::seek) - rust-lang/rust#150922 (Subscribe myself to attr parsing) - rust-lang/rust#150930 (Remove special case for `AllowedTargets::CrateLevel`) - rust-lang/rust#150942 (Port `#[rustc_has_incoherent_inherent_impls]` to attribute parser) Failed merges: - rust-lang/rust#150943 (Port `#[must_not_suspend]` to attribute parser) r? @ghost
Windows implementation for stdio set/take/replace #150668 try-job: x86_64-msvc-1
Windows implementation for stdio set/take/replace #150668 try-job: x86_64-msvc-1
Windows implementation for stdio set/take/replace #150668 try-job: x86_64-msvc-1
Tracking issue: #150667
ACP: rust-lang/libs-team#500