Demystifying Compiler Unstable Feature Usage and Impacts in the Rust Ecosystem
Chenghao Li (1), Yifei Wu (1), Wenbo Shen (1), Zichen Zhao (1), Rui, Chang (1), Chengwei Liu (2), Yang Liu (2), Kui Ren (1) ((1) Zhejiang, University, Hangzhou, China, (2) Nanyang Technological University, Singapore,, Singapore)

TL;DR
This paper systematically analyzes the usage and impact of Rust unstable features in the ecosystem, revealing their widespread use, potential for large-scale failures, and proposing a recovery tool to mitigate these issues.
Contribution
It introduces novel techniques for precise extraction of Rust unstable features, analyzes their ecosystem-wide impact, and presents a tool to recover from related compilation failures.
Findings
44% of package versions are affected by RUF
Up to 12% of packages experience compilation failures due to RUF
The recovery tool can fix up to 90% of RUF-related failures
Abstract
Rust programming language is gaining popularity rapidly in building reliable and secure systems due to its security guarantees and outstanding performance. To provide extra functionalities, the Rust compiler introduces Rust unstable features (RUF) to extend compiler functionality, syntax, and standard library support. However, these features are unstable and may get removed, introducing compilation failures to dependent packages. Even worse, their impacts propagate through transitive dependencies, causing large-scale failures in the whole ecosystem. Although RUF is widely used in Rust, previous research has primarily concentrated on Rust code safety, with the usage and impacts of RUF from the Rust compiler remaining unexplored. Therefore, we aim to bridge this gap by systematically analyzing the RUF usage and impacts in the Rust ecosystem. We propose novel techniques for extracting RUF…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software System Performance and Reliability
