The Wire · Showcase
RUST COMPILER TIGHTENS FUNCTION ARGUMENT LIMITS, DOCS EXPAND
By RepoJournal · Filed · About Rust
The Rust compiler now caps function arguments at 255 to prevent AST bloat, while the standard library gets its first comprehensive attribute documentation.
The compiler shipped a hard limit on function arguments across both splat AST and FnDecl [1], closing a vector for pathological code that could balloon memory usage during compilation. This isn't a breaking change for real code - if you're hitting 255 arguments, you have bigger architectural problems - but it hardens the compiler against adversarial inputs. In parallel, Rust's attribute documentation reached a milestone [2]: built-in attributes like `deprecated`, `warn`, `allow`, `cfg`, `deny`, and `forbid` now have proper reference docs using the `#[doc(attribute)]` mechanism, part of a larger push to make the standard library self-documenting. The compiler team also cleaned up technical debt [3] by removing stale FIXME comments and replacing slower `ilog(10)` calls with the optimized `ilog10()` variant. Miri pulled the latest upstream changes [4] to stay synchronized with the nightly compiler. On crates.io, the openipc ecosystem expanded with four new hardware-focused crates [5] [6] [7] [8], targeting embedded platforms from web to RTL88xx drivers.
One email a day. Unsubscribe in one click.
Keep up with Rust in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review argument limits in any macro-heavy code or code generators that produce functions rust-lang/rust [plan]
- → Link to new attribute docs in your style guides and documentation rust-lang/rust [monitor]
References
- [1] Limit splat AST and FnDecl to 255 args rust-lang/rust
- [2] Rollup merge of #158244 - kantnero:attribute-docs-deprecated-warn, r=GuillaumeGomez,traviscross rust-lang/rust
- [3] Rollup merge of #158448 - GuillaumeGomez:cleanup-numbuffer, r=Amanieu rust-lang/rust
- [4] Automatic Rustup ↗ rust-lang/miri
- [5] Create crate `openipc-web` rust-lang/crates.io-index
- [6] Create crate `openipc-native` rust-lang/crates.io-index
- [7] Create crate `openipc-rtl88xx` rust-lang/crates.io-index
- [8] Create crate `openipc-core` rust-lang/crates.io-index