'codex-utils-pty' assumes winapi "std" feature

Open 💬 4 comments Opened May 21, 2026 by ldlda

codex-utils-pty appears to implicitly rely on winapi/std.

Without the std feature, winapi defines c_void as an opaque empty struct instead of aliasing std::ffi::c_void.

Relevant chain:

winapi::um::winnt::HANDLE
// internally uses winapi's c_void

pub type HPCON = HANDLE;

PseudoCon::raw_handle() -> HPCON

But RawConPty::pseudoconsole_handle() returns std's RawHandle, which is based on std::ffi::c_void.

When winapi/std is enabled, both resolve compatibly, so this passes. But when building without that feature, the types diverge and compilation fails.

I suspect this works in the main workspace because the lockfile/dependency graph already enables winapi/std, but downstream standalone builds can fail.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗