The Wire · Showcase
C-VARIADIC STABILIZED, CRATES.IO TIGHTENS TYPE SAFETY ACROSS 145 COMMITS
By RepoJournal · Filed · About Rust
Rust stabilized c-variadic function definitions [ref:10], closing a decade-old tracking issue while the compiler and registry pushed type safety forward across the ecosystem.
The stabilization of c-variadic syntax [1] lands after years of refinement, letting Rust FFI code match C's variadic patterns natively. The compiler merged 11 critical PRs in a single rollup [2], including unification of type const and const RHS representation [3] and removal of test config cloning in compiletest [4]. Meanwhile, crates.io overhauled its API layer: controller types now carry domain-specific names instead of generic `ListResponse` wrappers [5], MSW handlers bind responses to OpenAPI contracts [6], and explicit serializers replace the generic underscore helper [7], making schema drift visible at compile time. rustc-perf fixed a longstanding gap where Clippy benchmarks were silently broken, now automatically downloading the Clippy component [8] and failing early if toolchain parts are missing [9]. The intrinsics desk added a fallback for `fabs` [10] to support platforms without hardware support. Across all five desks, 145 commits and 31 PRs shipped, with crates.io-index absorbing most activity as the registry absorbed new and updated packages.
One email a day. Unsubscribe in one click.
What actually shipped in Rust, written up every day — commits, pull requests, releases, and security advisories.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review stabilized c-variadic syntax in your FFI code - this removes nightly requirement for variadic functions [ref:10] rust-lang/rust [plan]
- → Update crates.io API client references to use new qualified type names like CrateListResponse instead of ListResponse [ref:22] rust-lang/crates.io [plan]
- → Monitor rustc-perf Clippy benchmark results - automatic toolchain completion now prevents silent failures [ref:15] rust-lang/rustc-perf [monitor]
References
- [1] Rollup merge of #155697 - folkertdev:stabilize-c-variadic, r=tgross35,traviscross rust-lang/rust
- [2] Auto merge of #159728 - JonathanBrouwer:rollup-6YNKbiO, r=JonathanBrouwer rust-lang/rust
- [3] Rollup merge of #159596 - khyperia:type-const-rhs-expr, r=BoxyUwU rust-lang/rust
- [4] Rollup merge of #159451 - Kobzol:compiletest-debuginfo, r=Zalathar,jieyouxu rust-lang/rust
- [5] controllers: Qualify request and response type names ↗ rust-lang/crates.io
- [6] msw: Type successful responses with OpenAPI contracts ↗ rust-lang/crates.io
- [7] msw: Remove generic serializer rust-lang/crates.io
- [8] Download Clippy when a Clippy profile is requested rust-lang/rustc-perf
- [9] Add early check for missing rustdoc/clippy in a toolchain ↗ rust-lang/rustc-perf
- [10] Rollup merge of #159605 - N1ark:fabs-fallback, r=folkertdev rust-lang/rust