Skip to content

Conversation

@wallymathieu
Copy link
Member

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors FSharpPlus by extracting Extensions functionality into a new separate FSharpPlus.Core assembly. The refactoring updates the language version from 8.0 to 10.0 and removes pinned FSharp.Core 6.0.6 dependencies across multiple projects. The PR also comments out several tests that encounter F# compiler regressions with the newer version.

  • Removed 26+ extension files from FSharpPlus.fsproj and created new FSharpPlus.Core project containing them
  • Updated .NET SDK version from 8.0.0 to 10.0.0 and modified CI workflows accordingly
  • Commented out problematic tests due to F# compiler type inference regressions

Reviewed changes

Copilot reviewed 20 out of 47 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/FSharpPlus.Core/FSharpPlus.Core.fsproj New project file defining the FSharpPlus.Core assembly with LangVersion 8.0 and all extension files
src/FSharpPlus.Core/Internals.fs New file containing internals code moved from FSharpPlus, including BitConverter, FindSliceIndex, and utility modules
src/FSharpPlus.Core/Extensions/ValueTask.fs Visibility changed from internal to public for active patterns and helper functions
src/FSharpPlus/FSharpPlus.fsproj Removed 26+ extension file references, updated LangVersion to 10.0, added project reference to FSharpPlus.Core
src/FSharpPlus/Internals.fs Removed code moved to FSharpPlus.Core (Traces module, Errors, Decimal, Rational, BigInteger, BitConverter, FindSliceIndex modules)
src/FSharpPlus/Data/NonEmptySeq.fs Fixed range expression syntax by wrapping in seq { }
tests/FSharpPlus.Tests/General.fs Commented out tests encountering F# compiler type inference regressions and memoization assertion issues
tests/FSharpPlus.Tests/Traversals.fs Commented out tests that likely fail with the new setup
tests/FSharpPlus.Tests/FSharpPlus.Tests.fsproj Removed FSharp.Core version pin
tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsproj Removed FSharp.Core version pin
src/FSharpPlus.TypeLevel/FSharpPlus.TypeLevel.fsproj Removed FSharp.Core version pin
src/FSharpPlus.TypeLevel/Providers/FSharpPlus.Providers.fsproj Removed FSharp.Core version pin
src/FSharpPlus.Docs/FSharpPlus.Docs.fsproj Removed FSharp.Core version pin
src/FSharpPlus.Docs/Samples/Collections.fsx Added warning number to nowarn directive
global.json Updated SDK version from 8.0.0 to 10.0.0, removed 5.0.405 and 7.0.100, added 8.0.100
build.proj Changed build commands to compile specific projects rather than entire solution
FSharpPlus.sln Added FSharpPlus.Core project to solution with all configuration mappings
.github/workflows/*.yml Updated CI workflows to use .NET 10.0.x instead of 7.0.x

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@wallymathieu wallymathieu force-pushed the osk/fsharp-plus-core branch 2 times, most recently from 808fde9 to 8fe289d Compare December 20, 2025 12:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants