hyperlight-dev / hyperlight-dev/hyperlight

Pin nightly rustfmt version to avoid cross-platform formatting inconsistencies

Open
#1,325 0 comments 0 reactions 0 assignees View on GitHub
area/infrastructure lifecycle/confirmed question
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.