mirror of
https://github.com/openai/codex.git
synced 2026-04-27 16:15:09 +00:00
## Why `codex-utils-pty` and `codex-windows-sandbox` were the remaining crates in `codex-rs` that still overrode the workspace's Rust 2024 edition. Moving them forward in a separate PR keeps the baseline edition update isolated from the follow-on Bazel clippy workflow in #15955, while making linting and formatting behavior consistent with the rest of the workspace. This PR also needs Cargo and Bazel to agree on the edition for `codex-windows-sandbox`. Without the Bazel-side sync, the experimental Bazel app-server builds fail once they compile `windows-sandbox-rs`. ## What changed - switch `codex-rs/utils/pty` and `codex-rs/windows-sandbox-rs` to `edition = "2024"` - update `codex-utils-pty` callsites and tests to use the collapsed `if let` form that Clippy expects under the new edition - fix the Rust 2024 fallout in `windows-sandbox-rs`, including the reserved `gen` identifier, `unsafe extern` requirements, and new Clippy findings that surfaced under the edition bump - keep the edition bump separate from a larger unsafe cleanup by temporarily allowing `unsafe_op_in_unsafe_fn` in the Windows entrypoint modules that now report it under Rust 2024 - update `codex-rs/windows-sandbox-rs/BUILD.bazel` to `crate_edition = "2024"` so Bazel compiles the crate with the same edition as Cargo --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/openai/codex/pull/15954). * #15976 * #15955 * __->__ #15954
34 lines
1.3 KiB
Rust
34 lines
1.3 KiB
Rust
pub mod pipe;
|
|
mod process;
|
|
pub mod process_group;
|
|
pub mod pty;
|
|
#[cfg(test)]
|
|
mod tests;
|
|
#[cfg(windows)]
|
|
mod win;
|
|
|
|
pub const DEFAULT_OUTPUT_BYTES_CAP: usize = 1024 * 1024;
|
|
|
|
/// Spawn a non-interactive process using regular pipes for stdin/stdout/stderr.
|
|
pub use pipe::spawn_process as spawn_pipe_process;
|
|
/// Spawn a non-interactive process using regular pipes, but close stdin immediately.
|
|
pub use pipe::spawn_process_no_stdin as spawn_pipe_process_no_stdin;
|
|
/// Handle for interacting with a spawned process (PTY or pipe).
|
|
pub use process::ProcessHandle;
|
|
/// Bundle of process handles plus split output and exit receivers returned by spawn helpers.
|
|
pub use process::SpawnedProcess;
|
|
/// Terminal size in character cells used for PTY spawn and resize operations.
|
|
pub use process::TerminalSize;
|
|
/// Combine stdout/stderr receivers into a single broadcast receiver.
|
|
pub use process::combine_output_receivers;
|
|
/// Backwards-compatible alias for ProcessHandle.
|
|
pub type ExecCommandSession = ProcessHandle;
|
|
/// Backwards-compatible alias for SpawnedProcess.
|
|
pub type SpawnedPty = SpawnedProcess;
|
|
/// Report whether ConPTY is available on this platform (Windows only).
|
|
pub use pty::conpty_supported;
|
|
/// Spawn a process attached to a PTY for interactive use.
|
|
pub use pty::spawn_process as spawn_pty_process;
|
|
#[cfg(windows)]
|
|
pub use win::conpty::RawConPty;
|