This tool attempts to find internal compiler errors (ICEs) for Rust by incrementally compiling the commit history of popular repositories.
- First, you'll need to install Git, Cargo, Python and Poetry.
- Clone the repository.
- Use
poetry install
to install the dependencies.
Create a config.yml
file in the project root:
# Options for the cargo commands
cargo:
# The toolchain to use for all cargo commands
# toolchain: beta
# Environment variables for cargo commands
env:
RUSTC_FORCE_INCREMENTAL: 1
# The number of commits to compile for each repository
commit_count: 500
# The number of commits to compile before displaying a progress-update
commit_batch_size: 20
# The repositories that should be tested
# They need to be GitHub SSH URLs for now
repositories:
- [email protected]:tauri-apps/tauri.git
- [email protected]:tokio-rs/tokio.git
- [email protected]:actix/actix-web.git
- [email protected]:bevyengine/bevy.git
- Run
python rust_ice_detector/main.py
. - Lean back and relax. This will take a while.
- The tool clones the repositories to your temp folder.
- It trances the most recent commits according to your configuration.
- It builds the first commit.
- It sequentially uses
cargo check
on the following commits. - If an internal compiler error (ICE) is detected, the link to the commit is logged.
This project is licensed under MIT and Apache 2.0.