Skip to content

Move Extensions to separate F#+ Core assembly - #648

Draft
wallymathieu wants to merge 1 commit into
masterfrom
osk/fsharp-plus-core
Draft

Move Extensions to separate F#+ Core assembly#648
wallymathieu wants to merge 1 commit into
masterfrom
osk/fsharp-plus-core

Conversation

@wallymathieu

Copy link
Copy Markdown
Member

No description provided.

CopilotAI 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.

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
FileDescription
src/FSharpPlus.Core/FSharpPlus.Core.fsprojNew project file defining the FSharpPlus.Core assembly with LangVersion 8.0 and all extension files
src/FSharpPlus.Core/Internals.fsNew file containing internals code moved from FSharpPlus, including BitConverter, FindSliceIndex, and utility modules
src/FSharpPlus.Core/Extensions/ValueTask.fsVisibility changed from internal to public for active patterns and helper functions
src/FSharpPlus/FSharpPlus.fsprojRemoved 26+ extension file references, updated LangVersion to 10.0, added project reference to FSharpPlus.Core
src/FSharpPlus/Internals.fsRemoved code moved to FSharpPlus.Core (Traces module, Errors, Decimal, Rational, BigInteger, BitConverter, FindSliceIndex modules)
src/FSharpPlus/Data/NonEmptySeq.fsFixed range expression syntax by wrapping in seq { }
tests/FSharpPlus.Tests/General.fsCommented out tests encountering F# compiler type inference regressions and memoization assertion issues
tests/FSharpPlus.Tests/Traversals.fsCommented out tests that likely fail with the new setup
tests/FSharpPlus.Tests/FSharpPlus.Tests.fsprojRemoved FSharp.Core version pin
tests/FSharpPlusFable.Tests/FSharpPlusFable.Tests.fsprojRemoved FSharp.Core version pin
src/FSharpPlus.TypeLevel/FSharpPlus.TypeLevel.fsprojRemoved FSharp.Core version pin
src/FSharpPlus.TypeLevel/Providers/FSharpPlus.Providers.fsprojRemoved FSharp.Core version pin
src/FSharpPlus.Docs/FSharpPlus.Docs.fsprojRemoved FSharp.Core version pin
src/FSharpPlus.Docs/Samples/Collections.fsxAdded warning number to nowarn directive
global.jsonUpdated SDK version from 8.0.0 to 10.0.0, removed 5.0.405 and 7.0.100, added 8.0.100
build.projChanged build commands to compile specific projects rather than entire solution
FSharpPlus.slnAdded FSharpPlus.Core project to solution with all configuration mappings
.github/workflows/*.ymlUpdated 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.

Sign up for freeto 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

@wallymathieu