You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🤖 This is an automated pull request from Repo Assist, an AI assistant for this repository.
Summary
This PR combines two improvements from the current run:
Task 9 — Testing Improvements
Adds tests/FSharp.Data.Core.Tests/StructuralInference.fs with 37 unit tests for StructuralInference.fs, which is the largest source file (777 lines) and previously had no dedicated unit tests. It contains the core type-inference algorithms used by all type providers.
Tests cover:
Area
What's tested
typeTag
All InferedType cases; DateOnly/TimeOnly guarded by #if NET6_0_OR_GREATER
subtypeInfered — Top/Null
Top ⊔ X = X; Null ⊔ int → optional int; Null ⊔ string (allowEmptyValues=true) → non-optional
Replaces the hardcoded dotnet-version: 10.0.201 in CI with dotnet-version-file: global.json in both workflows (pull-requests.yml ×3, push-master.yml ×1). The SDK version is now a single source of truth in global.json (which already pins "version": "10.0.201" with "rollForward": "latestMinor"). This means future SDK bumps only require editing one file.
Also renames the CI step from "Setup .NET 10" → "Setup .NET" so it doesn't become stale after the next SDK major bump.
Test Status
All 2957 tests pass (was 2920 before this PR; +37 new tests).
The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.
Create the pull request manually
# Download the patch from the workflow run
gh run download 24547876999 -n agent -D /tmp/agent-24547876999
# Create a new branch
git checkout -b repo-assist/test-structural-inference-2026-04-17-cd136a8845dc218d main
# Apply the patch (--3way handles cross-repo patches)
git am --3way /tmp/agent-24547876999/aw-repo-assist-test-structural-inference-2026-04-17.patch
# Push the branch and create the pull request
git push origin repo-assist/test-structural-inference-2026-04-17-cd136a8845dc218d
gh pr create --title '[Repo Assist] test+eng: 37 StructuralInference unit tests; CI reads SDK version from global.json' --base main --head repo-assist/test-structural-inference-2026-04-17-cd136a8845dc218d --repo fsprojects/FSharp.Data
🤖 This is an automated pull request from Repo Assist, an AI assistant for this repository.
Summary
This PR combines two improvements from the current run:
Task 9 — Testing Improvements
Adds
tests/FSharp.Data.Core.Tests/StructuralInference.fswith 37 unit tests forStructuralInference.fs, which is the largest source file (777 lines) and previously had no dedicated unit tests. It contains the core type-inference algorithms used by all type providers.Tests cover:
typeTagInferedTypecases;DateOnly/TimeOnlyguarded by#if NET6_0_OR_GREATERsubtypeInfered— Top/NullTop ⊔ X = X;Null ⊔ int → optional int;Null ⊔ string (allowEmptyValues=true)→ non-optionalsubtypeInfered— numeric wideningBit0+Bit1→Bit,int+int64→int64,int+float→float,decimal+float→float,Bit0+bool→boolsubtypeInfered— incompatiblestring+intandGuid+string→Heterogeneous; optionality propagationsubtypeInfered— RecordsHeterogeneousinferCollectionTypeSingle/MultiplemultiplicitygetInferedTypeFromStringInferenceMode'.FromPublicApisupportsUnitsOfMeasureTask 4 — Engineering Investments
Replaces the hardcoded
dotnet-version: 10.0.201in CI withdotnet-version-file: global.jsonin both workflows (pull-requests.yml×3,push-master.yml×1). The SDK version is now a single source of truth inglobal.json(which already pins"version": "10.0.201"with"rollForward": "latestMinor"). This means future SDK bumps only require editing one file.Also renames the CI step from "Setup .NET 10" → "Setup .NET" so it doesn't become stale after the next SDK major bump.
Test Status
All 2957 tests pass (was 2920 before this PR; +37 new tests).
Format check: ✅ (
dotnet run --project build/build.fsproj -t CheckFormatpasses)Warning
Protected Files — Push Permission Denied
This was originally intended as a pull request, but the patch modifies protected files. A human must create the pull request manually.
Protected files
Create the pull request manually