Skip to content

Add Chiron to the compiler regression-test matrix - #20281

Merged
abonie merged 1 commit into
mainfrom
t-gro-add-chiron-regression-test
Aug 19, 2026
Merged

Add Chiron to the compiler regression-test matrix#20281
abonie merged 1 commit into
mainfrom
t-gro-add-chiron-regression-test

Conversation

@T-Gro

@T-GroT-Gro commented Aug 18, 2026

Copy link
Copy Markdown
Member

Adds Chiron to the compiler regression-test matrix. Chiron's chiron-6 branch serializes through Aether 8.2.0's inline SRTP optics, reproducing the runtime-only SDK 10.0.400 regression (#20253, fixed by #20260): a compiler that misreads the legacy pickled inline flag drops the inline body and calls the dynamic-invocation stub, so the build stays clean but System.NotSupportedException is thrown at run time. A build-only check would pass, so the entry runs Chiron's own xunit suite, filtered to the Aether Optic tests that hit the miscompiled path.

Runs on the default Windows image as a single dotnet test — no source edits. AssetTargetFallback=net461 lets Chiron's old net452 leg restore, and RollForward=Major runs its netcoreapp2.0 tests on a current runtime.

Verified locally: the Optic tests fail with 4 × System.NotSupportedException on the SDK 10.0.400 compiler, and all 6 pass with the compiler built from this branch.

@panesofglass — is this OK with you? We'll be testing Chiron's build on every compiler PR, as we caused a regression in the 10.0.400 SDK.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No release notes required

@github-actionsgithub-actionsBot added the AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed label Aug 18, 2026
@T-Gro
T-Groforce-pushed the t-gro-add-chiron-regression-test branch 2 times, most recently from fe8fb80 to ed61be9CompareAugust 18, 2026 12:27
@github-project-automationgithub-project-automationBot moved this from New to In Progress in F# Compiler and ToolingAug 18, 2026
Chiron's chiron-6 branch serializes through Aether 8.2.0's `inline` SRTP
optics, which reproduces the SDK 10.0.400 legacy cross-assembly
inline-metadata regression (#20253, fixed by #20260). The bug is
runtime-only: a compiler that misreads Aether's legacy pickled inline flag
drops the inline body and emits a call to the dynamic-invocation stub, so
the build stays clean but System.NotSupportedException is thrown at run
time. The matrix entry therefore runs Chiron's own xunit suite, filtered to
the Aether Optic get/set/map tests that exercise the miscompiled path; a
build-only check would pass despite the bug. Two sed edits only retarget
dead frameworks (the library's net452 leg cannot restore on a current SDK;
the test project targets the removed netcoreapp2.0) and change no test logic.
Verified: the Optic tests fail with NotSupportedException on SDK 10.0.400,
and all pass with the compiler built from main.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@T-Gro
T-Groforce-pushed the t-gro-add-chiron-regression-test branch from ed61be9 to e733a98CompareAugust 18, 2026 12:54
@abonie
abonie merged commit 732b1cd into mainAug 19, 2026
57 checks passed
@T-Gro
T-Gro deleted the t-gro-add-chiron-regression-test branch August 19, 2026 09:30
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-Tooling-Check-BypassedTooling check: non-fork PR, not diff-analyzed

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants

@T-Gro@abonie