Only exclude the #155473 change for 1-byte bool-likes#155850
Merged
Conversation
That's the thing we handle differently in codegen (see `to_immediate_scalar`) so if the other ones are fine, that helps narrow it down further.
Member
Author
|
Since one of these failed in the previous version: |
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 27, 2026
Only exclude the #155473 change for 1-byte bool-likes try-job: x86_64-gnu-llvm-22-1 try-job: x86_64-gnu-llvm-21-1
Contributor
Member
Author
|
r? mati865 |
scottmcm
marked this pull request as ready for review
April 27, 2026 02:54
Member
|
Ugh, it feels like the issue is will be something obvious, but only after we already discover it. @bors r+ rollup=iffy |
Contributor
Contributor
|
⌛ Testing commit 569ad99 with merge a8196f9... Workflow: https://github.com/rust-lang/rust/actions/runs/25065933693 |
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Apr 28, 2026
…=mati865 Only exclude the rust-lang#155473 change for 1-byte bool-likes That's the thing we handle differently in codegen (see `to_immediate_scalar`) so if the other ones are fine, that helps narrow it down further. cc rust-lang#155473
Contributor
|
@bors yield |
Contributor
|
Auto build was cancelled. Cancelled workflows: The next pull request likely to be tested is #155937. |
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 28, 2026
…uwer Rollup of 14 pull requests Successful merges: - #155850 (Only exclude the #155473 change for 1-byte bool-likes) - #155923 (Subtree sync for rustc_codegen_cranelift) - #151994 (switch to v0 mangling by default on stable) - #154325 (Tweak irrefutable let else warning output) - #155899 (`dlltool`: Set the working directory to workaround `--temp-prefix` bug) - #155273 (Lock stable_crate_ids once in create_crate_num) - #155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - #155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - #155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - #155768 (compiletest: Overhaul the code for running an incremental test revision) - #155907 (Handle hkl const closures) - #155910 (misc stuff from reading borrowck again :)) - #155913 (Delete the 12 year old fixme) - #155920 (remove review queue triagebot mentions)
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 28, 2026
…uwer Rollup of 14 pull requests Successful merges: - #155850 (Only exclude the #155473 change for 1-byte bool-likes) - #155923 (Subtree sync for rustc_codegen_cranelift) - #151994 (switch to v0 mangling by default on stable) - #154325 (Tweak irrefutable let else warning output) - #155899 (`dlltool`: Set the working directory to workaround `--temp-prefix` bug) - #155273 (Lock stable_crate_ids once in create_crate_num) - #155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - #155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - #155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - #155768 (compiletest: Overhaul the code for running an incremental test revision) - #155907 (Handle hkl const closures) - #155910 (misc stuff from reading borrowck again :)) - #155913 (Delete the 12 year old fixme) - #155920 (remove review queue triagebot mentions)
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 28, 2026
…uwer Rollup of 15 pull requests Successful merges: - #155923 (Subtree sync for rustc_codegen_cranelift) - #155930 (Sync from portable simd 2026 04 28) - #155850 (Only exclude the #155473 change for 1-byte bool-likes) - #151994 (switch to v0 mangling by default on stable) - #154325 (Tweak irrefutable let else warning output) - #155273 (Lock stable_crate_ids once in create_crate_num) - #155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - #155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - #155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - #155768 (compiletest: Overhaul the code for running an incremental test revision) - #155907 (Handle hkl const closures) - #155910 (misc stuff from reading borrowck again :)) - #155913 (Delete the 12 year old fixme) - #155920 (remove review queue triagebot mentions) - #155936 (Rename `SharedContext::emit_dyn_lint*` into `emit_lint*`)
rust-bors Bot
pushed a commit
that referenced
this pull request
Apr 28, 2026
…uwer Rollup of 15 pull requests Successful merges: - #155923 (Subtree sync for rustc_codegen_cranelift) - #155930 (Sync from portable simd 2026 04 28) - #155850 (Only exclude the #155473 change for 1-byte bool-likes) - #151994 (switch to v0 mangling by default on stable) - #154325 (Tweak irrefutable let else warning output) - #155273 (Lock stable_crate_ids once in create_crate_num) - #155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - #155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - #155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - #155768 (compiletest: Overhaul the code for running an incremental test revision) - #155907 (Handle hkl const closures) - #155910 (misc stuff from reading borrowck again :)) - #155913 (Delete the 12 year old fixme) - #155920 (remove review queue triagebot mentions) - #155936 (Rename `SharedContext::emit_dyn_lint*` into `emit_lint*`)
github-actions Bot
pushed a commit
to rust-lang/rustc-dev-guide
that referenced
this pull request
Apr 30, 2026
…uwer Rollup of 15 pull requests Successful merges: - rust-lang/rust#155923 (Subtree sync for rustc_codegen_cranelift) - rust-lang/rust#155930 (Sync from portable simd 2026 04 28) - rust-lang/rust#155850 (Only exclude the rust-lang/rust#155473 change for 1-byte bool-likes) - rust-lang/rust#151994 (switch to v0 mangling by default on stable) - rust-lang/rust#154325 (Tweak irrefutable let else warning output) - rust-lang/rust#155273 (Lock stable_crate_ids once in create_crate_num) - rust-lang/rust#155361 (Document that CFI diverges from Rust wrt. ABI-compatibility rules) - rust-lang/rust#155692 (disable naked-dead-code-elimination test if no RET mnemonic is available) - rust-lang/rust#155747 (Update documentation for `wasm32-wali-linux-musl` after integrating n…) - rust-lang/rust#155768 (compiletest: Overhaul the code for running an incremental test revision) - rust-lang/rust#155907 (Handle hkl const closures) - rust-lang/rust#155910 (misc stuff from reading borrowck again :)) - rust-lang/rust#155913 (Delete the 12 year old fixme) - rust-lang/rust#155920 (remove review queue triagebot mentions) - rust-lang/rust#155936 (Rename `SharedContext::emit_dyn_lint*` into `emit_lint*`)
KedoKudo
added a commit
to ornlneutronimaging/NEREIDS
that referenced
this pull request
Jul 11, 2026
rust-lang/rust#159035's underlying LLVM codegen issue predates 1.97 (LLVM 20 era); 1.97.0's enum-tag change (rust-lang/rust#155850) makes the trigger condition far more common, and the issue's reproducer passes on 1.96.1. The previous comment overclaimed '1.96.1 is not affected'. Pin choice unchanged: 1.96.1 matches what main already shipped with and avoids the widened 1.97 trigger. Correction prompted by external review on the PR (thanks @riking). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
KedoKudo
added a commit
to ornlneutronimaging/NEREIDS
that referenced
this pull request
Jul 11, 2026
…1 Dependabot PRs) (#707) * chore: pin task contract for bot-PR triage (clippy 1.97 + egui 0.35 + majors) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: clear Rust 1.97 lints (clippy::question_mark + float_literal_f32_fallback) Rust 1.97.0 landed on CI runners (CI floated `stable`) and its new lints fail `cargo clippy -- -D warnings` on every PR: - clippy::question_mark at nereids-fitting/src/poisson.rs:1457 — the if-let-else-return-None collapses to `inner_jac.as_ref()?` (exact semantics-preserving rewrite; FD fallback comment retained). - 36x float_literal_f32_fallback (rust-lang/rust#154024) in apps/gui: bare float literals feeding egui `impl Into<f32>` params now need an explicit `_f32` suffix (machine-applied via cargo clippy --fix). - +1 proactive suffix in the cfg(linux) block darwin clippy cannot see: file_dialog.rs:505 anchor offset array. Gate evidence (rustup 1.97.0): clippy -D warnings exit 0; cargo test workspace 1264 passed / 0 failed; pixi run test-python 212 passed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * ci: repin orphaned action SHAs + pin Rust toolchain 1.97.0 Two action pins pointed at commits on no branch, which crashes Dependabot's github_actions update job on main (find_container_branch: 'no such commit', see failing 'Dependabot Updates' runs): - taiki-e/install-action was pinned to the orphan per-tool tag SHA `cargo-llvm-cov` (ci.yml) -> repinned to release tag v2.83.0 (c7eb1735), matching security.yml's style; security.yml aligned from v2.82.9 to the same. - dtolnay/rust-toolchain was pinned to a force-pushed-away `stable` branch head (29eef336, unreachable from every current ref) -> all 11 steps repinned to the permanent master branch head (fa04a145), the README-sanctioned shape when passing an explicit `toolchain:` input. Also pin the Rust toolchain (rust-toolchain.toml, channel 1.97.0) so a new stable release can no longer redden all open PRs at once; workflow `toolchain:` inputs aligned from `stable` to `1.97.0` (pre-install optimization — rustup proxies enforce the file regardless). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore: record PR #707 in task contract Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore: contract — R2 CI-arbitrated green; PR2/PR3 items blocked on user checkpoint Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(ci): repin toolchain 1.97.0 -> 1.96.1 — P-critical x86-64 miscompile in 1.97.0 Review round 1 (cross-family, Codex-found + Claude-verified against primary sources): rust-lang/rust#159035 is an OPEN P-critical / I-miscompile / O-x86_64 LLVM regression in 1.97.0 — optimized safe code segfaults; 1.96.1 is unaffected; the upstream revert (rust-lang/rust#159047, reverting #155850) merged 2026-07-10 and is in no stable release. Release wheels for the ORNL x86-64 RHEL fleet build under this pin, so 1.97.0 is unacceptable until a fixed stable ships. - rust-toolchain.toml: channel 1.96.1 + rationale; precedence comment narrowed per rustup override docs (cargo +toolchain / RUSTUP_TOOLCHAIN / nearer overrides win over the file). - workflows: all 11 'toolchain:' inputs 1.97.0 -> 1.96.1. - CONTRIBUTING.md: '(stable toolchain)' -> pinned-by-rust-toolchain.toml. The 37 Rust-1.97 lint fixes in the previous commit are kept: they are valid 1.96 code and future-proof the bump to the first fixed stable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(fitting): analytic Jacobian for background-only KL fits + FD-fallback tests Review round 1 P2s: - TransmissionKLBackgroundModel::analytical_jacobian returned None (whole- model FD fallback) whenever the inner Jacobian was absent — including the background-only case (inner params fixed, just b0/b1 free) whose columns are trivially analytic (dT/db0 = 1, dT/db1 = 1/sqrt(E)). Mirror the sibling CountsBackgroundScaleModel guard: fall back to FD only when inner params are actually free without an analytical inner Jacobian. - Add the two missing coverage points: FD fallback when the inner model lacks analytical_jacobian (wrapper returns None, fit converges via FD) and the background-only analytic path (exact column values + fit convergence). - .harness/TASK.md: correct R1's recorded evidence command to the loop actually run; add R21-R25 requirement lines omitted from plan coverage. Gates (rustup 1.96.1): clippy -D warnings exit 0; cargo test 1266 passed 0 failed (+2 new); pixi run test-python 212 passed 1 skipped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(fitting): accumulate aliased background-column derivatives (+= not =) Review round 2 (Codex-found, Claude-verified with an independent runtime FD reproduction): neither TransmissionKLBackgroundModel nor its sibling CountsBackgroundScaleModel forbids the two background/scale indices from aliasing (pub fields, no constructor). evaluate() reads the aliased parameter for both roles, so its true derivative is the SUM of the two column contributions (1 + 1/sqrt(E), resp. f*T + B) — but both column fills ASSIGNED, so the second overwrote the first (e.g. 0.5 vs correct 1.5 at E=4). Pre-existing defect; the round-1 background-only analytic path extended its exposure. Accumulate with += instead: identical for distinct indices (each column touched once on a zeroed matrix), correct for aliased ones. Adds one aliased-index regression test per model, checked against an in-test central finite-difference oracle computed directly from evaluate() — independent of the analytic path under test. Gates (1.96.1): clippy -D warnings exit 0; cargo test 1268 passed 0 failed (+2); pixi run test-python 212 passed 1 skipped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * ci: schedule wheel-policy gate on rust-toolchain.toml changes + refresh contract evidence Review round 2 VERIFIED P1: maturin-action resolves the in-container manylinux compiler from the repo-root rust-toolchain.toml (verified in the pinned action source, getRustToolchain -> rustup override), so a pin-only bump PR would change the release-wheel compiler WITHOUT scheduling the manylinux_2_28 gate — exactly the tag-time breakage class (0.2.0 yank) the gate exists to catch at PR time. Add the file to the wheel-policy paths filter. Also refresh .harness/TASK.md evidence that went stale after the 1.97.0 -> 1.96.1 repin (R5 records the deviation + its P1 rationale; R6 re-evidenced with the final-tree gate run; R23 made count-free). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(fitting): document background/scale index disjointness invariant Review round 3 (cross-confirmed by both LLM families at find time): the background-only analytic path returns Some for free sets of b0/b1 only — if such an index ALSO designates a parameter the inner dyn FitModel reads, the analytic column carries only the background contribution and silently omits dT_inner/dp (undetectable through dyn FitModel; the background indices are excluded from the inner free set by construction). On main the same misuse fell back to FD and was correct. No shipped configuration collides (pipeline appends kl_b0/kl_b1 as fresh indices), so per both reviewers the fix is the API contract: document the disjointness invariant on the pub index fields of BOTH wrappers; the supported b0==b1 aliasing (accumulating columns) is called out explicitly. Also: .harness/TASK.md now follows its own supersession protocol for the 1.97.0->1.96.1 repin — R5/R6 flipped to [?] pending explicit user approval, new R26 records the superseding 1.96.1 requirement + evidence. Gates (1.96.1): fmt OK; clippy -D warnings exit 0; nereids-fitting lib tests 193/0; cargo doc -D warnings exit 0 (doc-comment-only code diff — full workspace suite unchanged from previous run at 1268/0). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(fitting): harden remaining wrapper Jacobians against aliased role indices Review round 4 P2 (parallel-path audit of the aliased-index class fixed in poisson.rs): NormalizedTransmissionModel and MultiplicativeBaselineModel filled their role columns via first-match if/else-if chains, so two role indices sharing one parameter (accepted by the pub constructors without validation) silently kept only the first role's derivative. Convert both chains to independent role checks that ACCUMULATE (+=) into the zeroed matrix — identical for distinct indices, correct for aliased ones — and document the index invariant on both structs (role-inner collisions stay undetectable through the filtered inner free set, same as the poisson wrappers). The two resolution-coupled fill sites (TransmissionModelMulti density/ temperature; EnergyScale t0/L_scale FD arms) keep their first-match layout — restructuring them for a degenerate case the pipeline cannot construct is not worth the risk — and now carry explicit distinct-indices-assumed comments pointing at the hardened pattern. Adds one aliased-index FD-oracle regression test per hardened wrapper (BackA==BackB pinned to exactly 1 + 1/sqrt(E); b0==b1 vs central FD). Gates (1.96.1): clippy -D warnings exit 0; cargo test 1270 passed 0 failed (+2); pixi run test-python 212 passed 1 skipped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore: untrack .harness/ — session-local dev state, not repo content Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(toolchain): correct miscompile-scope rationale for the 1.96.1 pin rust-lang/rust#159035's underlying LLVM codegen issue predates 1.97 (LLVM 20 era); 1.97.0's enum-tag change (rust-lang/rust#155850) makes the trigger condition far more common, and the issue's reproducer passes on 1.96.1. The previous comment overclaimed '1.96.1 is not affected'. Pin choice unchanged: 1.96.1 matches what main already shipped with and avoids the widened 1.97 trigger. Correction prompted by external review on the PR (thanks @riking). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(claude): require concise professional PR descriptions Root-cause fix for essay-style PR bodies: no description-style rule existed, and the docs-hygiene section directed audit/investigation memos INTO the PR body. New Commit Style rule: short what/why + validation + risk; no per-edit inventories (the diff shows those), no review-round narratives. Long-form memos move to PR comments or commit messages; docs-hygiene pointers updated accordingly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
That's the thing we handle differently in codegen (see
to_immediate_scalar) so if the other ones are fine, that helps narrow it down further.cc #155473