Skip to content

Clean-break fork hygiene: CI rework, drop build.rs, remove nightly-std - #10

Merged
kaidokert merged 2 commits into
mainfrom
fork-cleanup/ci-buildrs-formatinto
Jul 4, 2026
Merged

kaidokert merged 2 commits into
mainfrom
fork-cleanup/ci-buildrs-formatinto

Conversation

@kaidokert

@kaidokert kaidokert commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Prunes leftover upstream scaffolding and one fragile feature ahead of the first crates.io release of the fork. Three independent cleanups; no change to the numeric API surface except the nightly-std removal.

CI — pre-commit-centric, no shell driver

  • .pre-commit-config.yaml is now the single source of truth for the enforced gate: cargo fmt --check, clippy on std libm ct and no_std libm ct with -D warnings, and cargo test. Local cargo hooks (dropped the stale pinned doublify/pre-commit-rust) so they target the fork's real feature set. Runs identically on git commit and in CI.
  • Consolidated pr.yaml / main.yaml / ci.yaml → one ci.yaml backstop (pull_request + push:main + merge_group + weekly schedule). Jobs: gate (pre-commit), test (MSRV/stable/beta feature combos, inline cargo), nightly (const surface — now actually runs tests/const_nightly.rs), cross (i586 + thumbv6m incl. ct), success.
  • Fixes a latent bug: the old i586 job ran cargo test --all-features on stable, which enables nightly#![feature(...)] → E0554. Now uses an explicit stable feature set. The no_std/i586 jobs were also previously orphaned behind merge_group-only triggering.
  • Deleted the verbatim-upstream ci/test_full.sh and ci/rustup.sh; repointed the README badge main.yamlci.yaml.

Drop build.rs + autocfg

Both probes (has_total_cmp 1.62, has_num_saturating 1.74) are unconditionally true at MSRV 1.86. Deleted build.rs, the autocfg build-dependency, and inlined every cfg branch (the total_cmp macro in float.rs + 12 has_num_saturating sites across lib.rs and identities.rs). Dependents no longer compile or run a build script at all.

Remove nightly-std / format_into

The nightly-std feature name implied a category but gated exactly one trait (FormatInto), and the module could only "mirror std" by naming NumBuffer/NumBufferTrait — which on current nightly moved behind the compiler-internal fmt_internals feature (while int_format_into stabilized). Depending on a compiler-internal feature is a non-starter for a stable-oriented fork, so the module is removed rather than patched. Bonus: plain nightly is now a pure const-ness upgrade with no library feature gates, restoring the invariant that nightly never changes which items exist.

Verification

  • cargo build (default), clippy -D warnings on std libm ct and no_std libm ct, cargo test — all green.
  • Nightly const surface green including the 9 const_nightly.rs impl const proofs.
  • All four pre-commit hooks pass via the installed pre-commit runner.

Summary by Sourcery

Consolidate CI around pre-commit, remove the now-unnecessary build script and autocfg gating, and drop the fragile nightly-std formatting API to prepare the fork for a stable crates.io release.

Bug Fixes:

  • Fix the i586 CI job so it no longer enables nightly-only features on a stable toolchain, preventing E0554 failures.
  • Ensure the nightly CI job actually exercises the const surface tests gated by the nightly feature.

Enhancements:

  • Make the pre-commit configuration the single source of truth for formatting, clippy, and test gates, and wire it into CI as the primary gate job.
  • Simplify and harden CI by consolidating multiple workflows into a single scheduled PR/main/merge_group workflow with explicit test, nightly, cross, and summary jobs.
  • Remove build.rs and the autocfg dependency by assuming total_cmp and core::num::Saturating support at the MSRV, inlining those cfg-based code paths.
  • Unconditionally support Saturating-related traits, identities, and tests now that the minimum Rust version guarantees their availability.
  • Remove the nightly-std feature and associated FormatInto module and re-exports so the nightly feature is a pure const-surface upgrade without relying on unstable compiler-internal APIs.
  • Adjust crate metadata and packaging excludes, including updating the README CI badge to reference the unified ci.yaml workflow.

Build:

  • Drop the build.rs script and autocfg build dependency, so dependents no longer need to compile or run a build script.
  • Tighten Cargo.toml packaging excludes to omit CI and pre-commit configuration from the published crate.

CI:

  • Replace separate pr/main/ci workflows with a single ci.yaml that runs pre-commit gates, multi-toolchain tests, nightly const-surface checks, cross-compilation, and a summarized success job.
  • Adopt pre-commit as the unified enforcement mechanism for fmt, clippy (std and no_std feature sets), and tests, both locally and in CI.
  • Correct CI target and feature combinations for i586 and thumbv6m to properly cover no_std and avoid accidental nightly feature enablement.

Documentation:

  • Update the README build status badge to point at the new unified ci.yaml workflow.

Summary by CodeRabbit

  • Breaking Changes
    • Removed nightly-only “format into” APIs and the nightly-std feature.
  • Bug Fixes
    • Simplified floating-point total ordering (TotalOrder) to rely on the built-in total_cmp behavior.
    • Made Saturating identity and numeric parsing/number support available consistently across builds.
  • Chores
    • Reworked CI to run on more events/schedules, with consolidated Rust/toolchain, feature-matrix, and cross-target testing.
    • Updated pre-commit checks and refreshed the CI status badge.

@coderabbitai

coderabbitai Bot commented Jul 4, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 599edf65-7d23-4aef-af02-9c1f8e1b544b

📥 Commits

Reviewing files that changed from the base of the PR and between 6916c55 and ff08d7f.

📒 Files selected for processing (3)
  • .github/workflows/ci.yaml
  • .pre-commit-config.yaml
  • src/float.rs
🚧 Files skipped from review as they are similar to previous changes (3)
  • .pre-commit-config.yaml
  • .github/workflows/ci.yaml
  • src/float.rs

📝 Walkthrough

Walkthrough

This PR consolidates CI into ci.yaml, updates pre-commit and crate metadata, removes legacy workflow/script files, and drops conditional compilation for total_cmp, Saturating, and format_into code paths.

Changes

CI and tooling restructuring

Layer / File(s) Summary
Workflow jobs and triggers
.github/workflows/ci.yaml
CI triggers expand to pull requests, pushes to main, merge groups, and a weekly schedule. The workflow adds gate, test, nightly, cross, and success jobs with updated dependencies and command sets.
Pre-commit and manifest metadata
.pre-commit-config.yaml, Cargo.toml, README.md, build.rs
The pre-commit config switches to local Cargo hooks and adds a header note. Cargo.toml updates excludes, removes build = "build.rs", and drops nightly-std. The README badge points to ci.yaml, and build.rs is removed.

Unconditional compilation cleanup

Layer / File(s) Summary
TotalOrder macro simplification
src/float.rs
totalorder_impl! now emits a single forwarding TotalOrder implementation for f64 and f32.
Saturating identities and traits
src/identities.rs, src/lib.rs
Saturating imports, identity impls, numeric trait impls, and related tests are no longer gated by has_num_saturating.
format_into removal
src/lib.rs, src/ops/mod.rs, src/ops/format_into.rs
The nightly-std formatting APIs, module export, re-exports, integer formatting implementations, and tests are removed.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

  • kaidokert/num-traits#6: The CI matrix now runs Rust 1.86.0, matching the toolchain update direction in this related PR.
  • kaidokert/num-traits#7: This PR also touches the nightly-std-gated format_into API and module layout.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: CI rework, removal of build.rs, and dropping nightly-std.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fork-cleanup/ci-buildrs-formatinto

Comment @coderabbitai help to get the list of available commands.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request simplifies the codebase by leveraging the updated minimum supported Rust version (MSRV) of 1.86. It removes the build.rs script and the autocfg build dependency, as conditional compilation for stable features like total_cmp and Saturating is no longer necessary. Additionally, the unstable nightly-std feature and its associated format_into module have been removed, and the pre-commit configuration has been updated to use local cargo hooks. There are no review comments to address, and I have no further feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Prune upstream scaffolding and a fragile feature ahead of the first
crates.io release of the fork.

CI (pre-commit-centric):
- .pre-commit-config.yaml is the single source of truth for the enforced
  gate (fmt, clippy on `std libm ct` and `no_std libm ct` with -D warnings,
  cargo test), via local cargo hooks rather than the stale pinned
  doublify/pre-commit-rust. Runs identically on `git commit` and in CI.
- Consolidate pr.yaml / main.yaml / ci.yaml into one ci.yaml backstop
  (pull_request + push:main + merge_group + weekly schedule). Jobs: gate
  (pre-commit), test (MSRV/stable/beta feature combos), nightly (const
  surface, runs tests/const_nightly.rs), cross (i586 + thumbv6m incl. ct),
  success. Fixes the latent i586 `--all-features`-on-stable E0554.
- Delete the verbatim-upstream ci/test_full.sh and ci/rustup.sh.
- Repoint README build badge main.yaml -> ci.yaml.

Drop build.rs + autocfg:
- Both probes (has_total_cmp 1.62, has_num_saturating 1.74) are always
  true at MSRV 1.86. Delete build.rs, the build-dependency, and inline all
  cfg branches (float.rs total_cmp macro + 12 has_num_saturating sites in
  lib.rs and identities.rs). Dependents no longer run a build script.

Remove nightly-std / format_into:
- The feature name gated exactly one trait, and the module could only
  mirror std by naming NumBuffer/NumBufferTrait, which now require the
  compiler-internal `fmt_internals` feature. Delete the module, feature,
  attr, re-exports, and CI step. Plain `nightly` is now a pure const-ness
  upgrade with no library feature gates.
@kaidokert
kaidokert force-pushed the fork-cleanup/ci-buildrs-formatinto branch from 06c0ebd to 6916c55 Compare July 4, 2026 00:12

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/ci.yaml (1)

11-91: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Add explicit least-privilege permissions: block.

None of the jobs (gate, test, nightly, cross, success) declare a permissions block, so each inherits the repository/org default GITHUB_TOKEN permissions, which may be broader than needed (write access to contents, etc.). Static analysis (zizmor) flags this as excessive-permissions for all four job ranges (15-30, 31-51, 52-61, 62-79). None of these jobs push, comment, or otherwise need write access — restrict to read-only.

🔒 Proposed fix
 on:
   pull_request:
   push:
     branches:
       - main
   merge_group:
   schedule:
     - cron: '0 0 * * 0' # 00:00 Sunday
 
+permissions:
+  contents: read
+
 jobs:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yaml around lines 11 - 91, Add an explicit
least-privilege permissions block to each job in the workflow so `gate`, `test`,
`nightly`, `cross`, and `success` do not inherit broader default `GITHUB_TOKEN`
access. Set the jobs in this workflow to read-only permissions since they only
checkout, build, test, and summarize results. Update the job definitions in the
CI workflow near the `gate`, `test`, `nightly`, `cross`, and `success` sections
to include the restrictive `permissions:` setting.

Source: Linters/SAST tools

🧹 Nitpick comments (3)
src/float.rs (1)

2286-2297: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use <$T>::total_cmp(self, other) here.

self already has type &Self, so the extra borrow is unnecessary; the direct call is clearer.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/float.rs` around lines 2286 - 2297, The TotalOrder implementation in
totalorder_impl uses an unnecessary extra borrow when forwarding to the core
total_cmp method. Update the TotalOrder::total_cmp implementation for $T to call
the inherent <$T>::total_cmp(self, other) directly instead of reborrowing self;
keep the change within the totalorder_impl macro so both f32 and f64 pick it up.
.github/workflows/ci.yaml (1)

2-10: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Consider adding a concurrency group to cancel superseded runs.

With pull_request and push triggers now combined into one workflow, repeated pushes to a PR branch will queue/run multiple full matrices (gate + test matrix + nightly + cross) concurrently. A concurrency group with cancel-in-progress would save CI minutes on superseded commits.

♻️ Suggested addition
 on:
   pull_request:
   push:
     branches:
       - main
   merge_group:
   schedule:
     - cron: '0 0 * * 0' # 00:00 Sunday
 
+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
 jobs:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yaml around lines 2 - 10, Add a workflow-level
concurrency group to the CI workflow so newer runs cancel superseded ones from
the same branch/PR. Update the workflow configuration around the existing on
triggers in the CI workflow to define a stable group key and enable
cancel-in-progress, keeping repeated push and pull_request executions from
running the full matrix concurrently. Use the top-level workflow settings near
the current on block as the place to add this behavior.
.pre-commit-config.yaml (1)

32-43: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Use --tests for the no_std clippy hook .pre-commit-config.yaml:38-43 examples/typestates.rs is std-only, so --all-targets would pull in a target that can’t build under libm ct; --tests keeps the no_std integration tests like tests/cast.rs linted without dragging in examples.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.pre-commit-config.yaml around lines 32 - 43, Update the cargo-clippy-no-std
hook so it lints tests only instead of all targets. In the no_std pre-commit
entry, replace the target selection in the cargo clippy invocation to use
--tests, since examples/typestates.rs is std-only and should not be pulled in by
the libm ct configuration. Keep the existing no-default-features and --features
"libm ct" settings, and make the change in the cargo-clippy-no-std hook
definition.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yaml:
- Line 19: The checkout steps are persisting the default GitHub credentials
unnecessarily, so update every actions/checkout@v4 use in the workflow to
disable credential persistence. Apply the same change to each checkout step used
by the gate, test, nightly, and cross jobs, and keep the fix localized to the
actions/checkout invocation by setting persist-credentials to false.

---

Outside diff comments:
In @.github/workflows/ci.yaml:
- Around line 11-91: Add an explicit least-privilege permissions block to each
job in the workflow so `gate`, `test`, `nightly`, `cross`, and `success` do not
inherit broader default `GITHUB_TOKEN` access. Set the jobs in this workflow to
read-only permissions since they only checkout, build, test, and summarize
results. Update the job definitions in the CI workflow near the `gate`, `test`,
`nightly`, `cross`, and `success` sections to include the restrictive
`permissions:` setting.

---

Nitpick comments:
In @.github/workflows/ci.yaml:
- Around line 2-10: Add a workflow-level concurrency group to the CI workflow so
newer runs cancel superseded ones from the same branch/PR. Update the workflow
configuration around the existing on triggers in the CI workflow to define a
stable group key and enable cancel-in-progress, keeping repeated push and
pull_request executions from running the full matrix concurrently. Use the
top-level workflow settings near the current on block as the place to add this
behavior.

In @.pre-commit-config.yaml:
- Around line 32-43: Update the cargo-clippy-no-std hook so it lints tests only
instead of all targets. In the no_std pre-commit entry, replace the target
selection in the cargo clippy invocation to use --tests, since
examples/typestates.rs is std-only and should not be pulled in by the libm ct
configuration. Keep the existing no-default-features and --features "libm ct"
settings, and make the change in the cargo-clippy-no-std hook definition.

In `@src/float.rs`:
- Around line 2286-2297: The TotalOrder implementation in totalorder_impl uses
an unnecessary extra borrow when forwarding to the core total_cmp method. Update
the TotalOrder::total_cmp implementation for $T to call the inherent
<$T>::total_cmp(self, other) directly instead of reborrowing self; keep the
change within the totalorder_impl macro so both f32 and f64 pick it up.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 747104fe-fca6-43f7-9de8-8606261e7fa0

📥 Commits

Reviewing files that changed from the base of the PR and between db905ae and 06c0ebd.

📒 Files selected for processing (14)
  • .github/workflows/ci.yaml
  • .github/workflows/main.yaml
  • .github/workflows/pr.yaml
  • .pre-commit-config.yaml
  • Cargo.toml
  • README.md
  • build.rs
  • ci/rustup.sh
  • ci/test_full.sh
  • src/float.rs
  • src/identities.rs
  • src/lib.rs
  • src/ops/format_into.rs
  • src/ops/mod.rs
💤 Files with no reviewable changes (9)
  • .github/workflows/main.yaml
  • .github/workflows/pr.yaml
  • build.rs
  • src/ops/format_into.rs
  • ci/test_full.sh
  • ci/rustup.sh
  • src/ops/mod.rs
  • src/identities.rs
  • src/lib.rs

Comment thread .github/workflows/ci.yaml

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
.pre-commit-config.yaml (1)

28-39: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Inconsistent --all-targets scope between clippy hooks.

The std clippy hook (Line 30) lints with --all-targets, but the no_std variant (Line 36) omits it, so test/example/bench code isn't clippy-checked under the libm ct (no_std) feature set. If this is intentional (e.g., avoiding std-only test harness conflicts under no_std), consider a brief comment; otherwise align the flag for consistent coverage.

♻️ Proposed fix
     -   id: cargo-clippy-no-std
         name: cargo clippy (no_std libm ct, -D warnings)
-        entry: cargo clippy --no-default-features --features "libm ct" -- -D warnings
+        entry: cargo clippy --all-targets --no-default-features --features "libm ct" -- -D warnings
         language: system
         types: [rust]
         pass_filenames: false
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.pre-commit-config.yaml around lines 28 - 39, The two cargo-clippy
pre-commit hooks are inconsistent because the no_std variant does not use the
same target coverage as the std variant. Update the cargo-clippy-no-std entry in
.pre-commit-config.yaml to match the cargo-clippy hook’s scope, or add a short
explanatory comment if omitting --all-targets is intentional; use the hook names
cargo-clippy and cargo-clippy-no-std to locate the entries.
.github/workflows/ci.yaml (1)

2-10: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

Consider a concurrency group to cancel superseded runs.

With pull_request + push:main + weekly schedule triggers, rapid successive pushes/PR updates will queue overlapping full matrix runs (gate, test×3, nightly, cross). A concurrency group with cancel-in-progress would save CI minutes.

+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
 on:
   pull_request:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/ci.yaml around lines 2 - 10, Add a workflow-level
concurrency configuration to cancel superseded CI runs. In the CI workflow,
update the top-level settings alongside the existing on triggers so that rapid
updates to pull_request and push on main do not keep overlapping matrix jobs
queued. Use a stable concurrency group keyed to the workflow and ref, and enable
cancel-in-progress for the jobs defined in this workflow.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yaml:
- Around line 13-24: Add an explicit permissions block to the GitHub Actions
workflow so all jobs use least-privilege GITHUB_TOKEN access. Update the
workflow around the gate/test/nightly/cross job definitions to set read-only
permissions, since the jobs only use checkout and local tooling and do not need
write scopes. Keep the change at the workflow level so it applies consistently
across all jobs in the file.

---

Nitpick comments:
In @.github/workflows/ci.yaml:
- Around line 2-10: Add a workflow-level concurrency configuration to cancel
superseded CI runs. In the CI workflow, update the top-level settings alongside
the existing on triggers so that rapid updates to pull_request and push on main
do not keep overlapping matrix jobs queued. Use a stable concurrency group keyed
to the workflow and ref, and enable cancel-in-progress for the jobs defined in
this workflow.

In @.pre-commit-config.yaml:
- Around line 28-39: The two cargo-clippy pre-commit hooks are inconsistent
because the no_std variant does not use the same target coverage as the std
variant. Update the cargo-clippy-no-std entry in .pre-commit-config.yaml to
match the cargo-clippy hook’s scope, or add a short explanatory comment if
omitting --all-targets is intentional; use the hook names cargo-clippy and
cargo-clippy-no-std to locate the entries.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: dfbc49c2-a7f6-465c-9802-c3132bc0b083

📥 Commits

Reviewing files that changed from the base of the PR and between 06c0ebd and 6916c55.

📒 Files selected for processing (14)
  • .github/workflows/ci.yaml
  • .github/workflows/main.yaml
  • .github/workflows/pr.yaml
  • .pre-commit-config.yaml
  • Cargo.toml
  • README.md
  • build.rs
  • ci/rustup.sh
  • ci/test_full.sh
  • src/float.rs
  • src/identities.rs
  • src/lib.rs
  • src/ops/format_into.rs
  • src/ops/mod.rs
💤 Files with no reviewable changes (9)
  • ci/rustup.sh
  • .github/workflows/main.yaml
  • ci/test_full.sh
  • .github/workflows/pr.yaml
  • build.rs
  • src/ops/format_into.rs
  • src/ops/mod.rs
  • src/lib.rs
  • src/identities.rs
✅ Files skipped from review due to trivial changes (1)
  • README.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/float.rs
  • Cargo.toml

Comment thread .github/workflows/ci.yaml
- ci.yaml: set `persist-credentials: false` on all checkout steps and add a
  top-level `permissions: contents: read` block; no job needs write-back
  git credentials or a broad token scope (zizmor artipacked / excessive-
  permissions).
- ci.yaml: add a `concurrency` group with cancel-in-progress so superseded
  pushes don't run overlapping matrices.
- float.rs: forward to `<$T>::total_cmp(self, other)` without the extra borrow.
- .pre-commit-config.yaml: lint no_std integration tests by adding `--tests`
  to the no_std clippy hook.
@kaidokert
kaidokert merged commit ac2f1d1 into main Jul 4, 2026
9 checks passed
@kaidokert
kaidokert deleted the fork-cleanup/ci-buildrs-formatinto branch July 11, 2026 05:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant