Context
The Dylint gate on current main still carries the pre-6.0 compatibility stack:
.github/workflows/dylint.yml installs cargo-dylint and dylint-link 5.0.0.
- The lint crates pin
dylint_linting / dylint_testing to trailofbits/dylint revision 4bd91ce7729b74c7ee5664bbb588f7baf30b4a09.
ci/build_dylint_driver.py clones that revision and builds a custom driver for nightly-2026-03-26.
- The workflow contains an alias-and-retry loop for the old
<name>@<toolchain> library naming behavior.
Dylint 6.0.1 is now released and is already in use in sibling repositories. Keeping the old mixed version/git-revision stack preserves expensive bespoke setup and leaves this gate exposed to already-solved rustc-private API drift.
Proposal
Move the entire repository to one documented Dylint 6.0.1 stack:
- Pin
cargo-dylint and dylint-link to 6.0.1.
- Replace every git-revision
dylint_linting / dylint_testing dependency with the 6.0.1 crates.io release.
- Select one nightly compatible with 6.0.1 and update every Dylint
rust-toolchain.toml, workflow reference, and test command together.
- Remove
ci/build_dylint_driver.py, DYLINT_DRIVER_PATH plumbing, and the library alias/retry loop when the 6.0.1-provided driver path makes them unnecessary.
- Preserve the existing lint implementations, allowlists, stale-allowlist validation, and required status-check behavior.
Acceptance criteria
Related issues
Context
The Dylint gate on current
mainstill carries the pre-6.0 compatibility stack:.github/workflows/dylint.ymlinstallscargo-dylintanddylint-link5.0.0.dylint_linting/dylint_testingto trailofbits/dylint revision4bd91ce7729b74c7ee5664bbb588f7baf30b4a09.ci/build_dylint_driver.pyclones that revision and builds a custom driver fornightly-2026-03-26.<name>@<toolchain>library naming behavior.Dylint 6.0.1 is now released and is already in use in sibling repositories. Keeping the old mixed version/git-revision stack preserves expensive bespoke setup and leaves this gate exposed to already-solved rustc-private API drift.
Proposal
Move the entire repository to one documented Dylint 6.0.1 stack:
cargo-dylintanddylint-linkto 6.0.1.dylint_linting/dylint_testingdependency with the 6.0.1 crates.io release.rust-toolchain.toml, workflow reference, and test command together.ci/build_dylint_driver.py,DYLINT_DRIVER_PATHplumbing, and the library alias/retry loop when the 6.0.1-provided driver path makes them unnecessary.Acceptance criteria
dylint_linting = "6.0.1"and, where present,dylint_testing = "6.0.1"; revision4bd91ce...is absent from active configuration.cargo-dylintanddylint-link6.0.1 explicitly.--workspace --all-targetsand the required Dylint check is green.Related issues