hyperlight-dev / hyperlight-dev/hyperlight
Pin nightly rustfmt version to avoid cross-platform formatting inconsistencies
- Dominant language
- Rust
- Stars
- 4.7k
- Forks
- 208
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 47
Description
In #1324, we discovered that Linux and Windows CI runners had different `nightly` rustfmt versions installed, causing `just fmt-check` to fail with conflicting formatting expectations. Specifically, `nightly-2026-02-28` introduced a breaking change to how `use {crate1, crate2};` grouped imports are formatted (splitting them into separate `use` statements).
As a temporary fix, we pinned `nightly-2026-02-27` in the Justfile via a `nightly-toolchain` variable. This works but means we'll need to manually bump the pin when we want to pick up newer rustfmt features or when the pinned version becomes unavailable.
We should investigate a more permanent solution, such as:
- Pinning a nightly date in `rust-toolchain.toml` with a dedicated `nightly` profile for fmt
- Switching to stable rustfmt (if it covers our needs)
- Adding a `rustfmt.toml` option to explicitly control the import grouping behavior so it's resilient to upstream changes
- Setting up a recurring process/bot to bump the nightly pin intentionally
Contributor guide
Assessment
This issue has not been assessed yet.