Repository navigation
Remove the classic Sequence and FunctionalAssert forms and retire λ1202 and λ1203 - #1042
Open
FreeApophis wants to merge 1 commit into
Open
FreeApophis wants to merge 1 commit into
FreeApophis wants to merge 1 commit into
Conversation
…02 and λ1203 The static class Funcky.Sequence goes; its constructors live on as the static extension members of System.Linq.Enumerable that 3.8.0 added. λ1001 now proposes Enumerable.Return and λ1013 reports Enumerable.Return where a collection expression fits. Funcky.Xunit 3.0.0 and Funcky.Xunit.v3 2.0.0 drop the FunctionalAssert class in favour of the Assert extension members, and the failure label becomes Assert.Some() to match xunit's own Assert.Equal() Failure. λ1202 and λ1203 retire from Funcky.Analyzers, since the forms they pointed away from no longer compile; λ1201 stays as an opt-in style rule and loses its C# 14 language gate, which the .NET 10 SDK baseline makes moot. The PublicAPI files record the removals, the tests use the surviving forms, and the documentation describes the upgrade path through the 3.8.0 rules. Closes #1003 Closes #1019 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This branch has not been deployed
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.
Closes #1003 and #1019, as decided in the grooming of 29 Oct 2026. Stacked on #1041 (base
result-match-error-first); retarget once the chain #1037 → #1039 → #1040 → #1041 has merged.Funcky
Funcky.Sequence(nine files) is removed; the constructors are theEnumerable.Return,Enumerable.Successors, … extension members ofEnumerableExtensionsthat 3.8.0 added. Nothing in the library used the class; the tests inFuncky.Test/Sequencenow exercise theEnumerableform. PublicAPI: 16*REMOVED*lines per asset.Enumerable.Repeat(x, 1)) now proposesEnumerable.Return(x); the fix emits the BCLEnumerabletype as receiver, and the rule is only active whenEnumerableExtensionsdeclares a staticReturn. λ1013 reportsEnumerable.Return(x)for a collection expression; it matches the member through the unnamed extension type nested inEnumerableExtensions. Both test fixtures carry an extension-block stub now; theusing staticcase of the λ1001 qualification test is gone, since a static extension member is not importable that way.Funcky.Xunit 3.0.0 / Funcky.Xunit.v3 2.0.0
FunctionalAssert(six files) is removed; theAssert.Some,Assert.None,Assert.Ok,Assert.Error,Assert.Left,Assert.Rightextension members are the assertions. PublicAPI: 12*REMOVED*lines each.Assert.Some() Failure: Values differ, matching xunit'sAssert.Equal() Failure. TheFunctionalAssertClasstests moved toAssertClassand exercise theAssertform with the new label; the stack-trace tests look for theAssertExtensionsframe on net48.Assertform only.Funcky.Analyzers 3.0.0
PreferEnumerableSequenceConstructorsAnalyzer) and λ1203 (PreferXunitAssertAnalyzer) are removed with their fixes and tests;AnalyzerReleases.Unshipped.mdlists them under Removed Rules, the numbers stay reserved. Their doc pages and the rules-table rows are gone.ExtensionMemberSupport.SupportsExtensionMembersand the "below C# 14" test), as groomed: the .NET 10 SDK baseline always binds the extension forms.GetSequenceTypeandGetFunctionalAssertTypehelpers are removed.Docs and changelog
Sequence chapter, λ1001, λ1013, λ1101, λ1201, the rules overview, the xunit chapter (removal, new label, upgrade path via λ1203 on 2.x), README, and three changelog bullets under 4.0.0 describing the upgrade recipe (set λ1202/λ1203 to warning on 3.8.0, fix-all, upgrade). #1033 remains the place for the full upgrade guide.
Verified locally: Release build of the solution with
TreatWarningsAsErrors, Funcky.Test on net11/net10/net9/net8/net48, Funcky.Xunit.Test on net11 and net48, Funcky.Xunit.v3.Test, Funcky.Async.Test, Funcky.Analyzers.Test 256/256.🤖 Generated with Claude Code