libc 1.0 release readiness
| Metadata | |
|---|---|
| Point of contact | Yuki Okushi |
| Status | Proposed |
| Tracking issue | |
| Other tracking issues | rust-lang/libc#3248(https://github.com/rust-lang/libc/issues/3248) |
| Zulip channel | N/A |
| Teams | libs |
| Task owners | (none) |
Summary
Prepare and ship libc 1.0 by resolving long-standing ABI and API inconsistencies, finishing the new testing infrastructure rollout, and making the policy decisions required for a stable major release.
Motivation
libc is the canonical Rust FFI layer for C libraries and is widely depended on across the ecosystem. It is still 0.2 because there are outstanding ABI mismatches, unsound trait implementations, and unclear policy guarantees that make a 1.0 promise premature.
The status quo
- On 32-bit targets,
time_tandoff_tcan be 32- or 64-bit depending on C library headers and macro configuration, butlibccan only define one variant. - Several early mistakes require breaking changes (e.g.,
iconv,vfork, placeholder constants, incorrect type definitions) and are tracked as breakage candidates. - musl 1.2 and time64 support is implemented but it still needs some additional work.
- Some libc types want anonymous struct/union support that is not yet fully available in stable Rust.
- GSoC 2025 delivered a modern replacement for the old ctest2 harness, but some issues remain.
What we propose to do about it
Focus 2026 work on the explicit 1.0 blockers in the tracking issue: land targeted breaking fixes, remove inappropriate trait impls, and complete the ctest rewrite. In parallel, we will define and publish libc’s MSRV and platform-support policies to make 1.0’s guarantees clear and durable. We also have to triage the polls on Zulip and address them.
Work items over the next year
| Task | Owner(s) | Notes |
|---|---|---|
| Define MSRV and platform-support policies | Yuki Okushi Trevor Gross | |
| Address remaining breaking changes listed in the tracking issue | Yuki Okushi Trevor Gross | |
| Triage polls on Zulip | Yuki Okushi Trevor Gross | |
| Complete ctest rewrite | Abdul Muiz |
Team asks
| Team | Support level | Notes |
|---|---|---|
| libs | Small |
Frequently asked questions
TODO - will fill in based on the review comments