diff --git a/FrameworkFeatureConstants.props b/FrameworkFeatureConstants.props index 6912a671..b7e712b1 100644 --- a/FrameworkFeatureConstants.props +++ b/FrameworkFeatureConstants.props @@ -21,4 +21,7 @@ $(DefineConstants);REFLECTION_ASSEMBLY_NAME_INFO;REFLECTION_TYPE_NAME;ORDERED_DICTIONARY + + $(DefineConstants);SHUFFLE_EXTENSION;INTEGRATED_ASYNC + diff --git a/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj b/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj index 069027b9..c7aa8f6e 100644 --- a/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj +++ b/Funcky.Analyzers/Funcky.Analyzers.Test/Funcky.Analyzers.Test.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 true true diff --git a/Funcky.Async.Test/Funcky.Async.Test.csproj b/Funcky.Async.Test/Funcky.Async.Test.csproj index d956a47e..d02c4547 100644 --- a/Funcky.Async.Test/Funcky.Async.Test.csproj +++ b/Funcky.Async.Test/Funcky.Async.Test.csproj @@ -1,4 +1,4 @@ - + net9.0;net8.0;net7.0 preview diff --git a/Funcky.Async/Funcky.Async.csproj b/Funcky.Async/Funcky.Async.csproj index 48f8169c..69d04de6 100644 --- a/Funcky.Async/Funcky.Async.csproj +++ b/Funcky.Async/Funcky.Async.csproj @@ -46,7 +46,7 @@ - + diff --git a/Funcky.SourceGenerator.Test/Funcky.SourceGenerator.Test.csproj b/Funcky.SourceGenerator.Test/Funcky.SourceGenerator.Test.csproj index b50fdf5a..6eec7683 100644 --- a/Funcky.SourceGenerator.Test/Funcky.SourceGenerator.Test.csproj +++ b/Funcky.SourceGenerator.Test/Funcky.SourceGenerator.Test.csproj @@ -3,7 +3,7 @@ Funcky.SourceGenerator.Test Funcky.SourceGenerator.Test - net9.0 + net10.0 enable enable preview diff --git a/Funcky.Test/Extensions/EnumerableExtensions/ShuffleTest.cs b/Funcky.Test/Extensions/EnumerableExtensions/ShuffleTest.cs index 43f96f46..fe9ccc91 100644 --- a/Funcky.Test/Extensions/EnumerableExtensions/ShuffleTest.cs +++ b/Funcky.Test/Extensions/EnumerableExtensions/ShuffleTest.cs @@ -1,13 +1,16 @@ using FsCheck; using FsCheck.Fluent; using FsCheck.Xunit; +#if !SHUFFLE_EXTENSION using Funcky.Test.TestUtils; using Xunit.Sdk; +#endif namespace Funcky.Test.Extensions.EnumerableExtensions; public sealed class ShuffleTest { +#if !SHUFFLE_EXTENSION [Fact] public void AShuffleIsEnumeratedEagerly() { @@ -15,13 +18,14 @@ public void AShuffleIsEnumeratedEagerly() Assert.Throws(() => doNotEnumerate.Shuffle()); } +#endif [Fact] public void AShuffleWithASpecificRandomDistributionAlwaysReturnsTheSameShuffle() { var source = Enumerable.Range(0, 16); - Assert.Equal(Sequence.Return(3, 2, 6, 15, 14, 0, 5, 8, 11, 7, 9, 12, 1, 13, 10, 4), source.Shuffle(new System.Random(1337))); + Assert.Equal(Sequence.Return(3, 2, 6, 15, 14, 0, 5, 8, 11, 7, 9, 12, 1, 13, 10, 4), source.Shuffle(new Random(1337))); } [Property] @@ -33,6 +37,6 @@ public Property AShuffleHasTheSameElementsAsTheSource(List source) [Property] public Property AShuffleHasTheSameLengthAsTheSource(List source) - => (source.Shuffle().Count == source.Count) + => (source.Shuffle().Count() == source.Count) .ToProperty(); } diff --git a/Funcky.Test/Funcky.Test.csproj b/Funcky.Test/Funcky.Test.csproj index 4a49af35..7759a253 100644 --- a/Funcky.Test/Funcky.Test.csproj +++ b/Funcky.Test/Funcky.Test.csproj @@ -1,6 +1,6 @@ - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 $(TargetFrameworks);net4.8 preview enable diff --git a/Funcky.Xunit.Test/Funcky.Xunit.Test.csproj b/Funcky.Xunit.Test/Funcky.Xunit.Test.csproj index e23fb008..e6a9f8c6 100644 --- a/Funcky.Xunit.Test/Funcky.Xunit.Test.csproj +++ b/Funcky.Xunit.Test/Funcky.Xunit.Test.csproj @@ -1,6 +1,6 @@ - net9.0 + net10.0 preview enable false diff --git a/Funcky.Xunit.v3.Test/Funcky.Xunit.v3.Test.csproj b/Funcky.Xunit.v3.Test/Funcky.Xunit.v3.Test.csproj index d2e42bb3..04046877 100644 --- a/Funcky.Xunit.v3.Test/Funcky.Xunit.v3.Test.csproj +++ b/Funcky.Xunit.v3.Test/Funcky.Xunit.v3.Test.csproj @@ -1,6 +1,6 @@ - net9.0 + net10.0 preview enable false diff --git a/Funcky/CompatibilitySuppressions.xml b/Funcky/CompatibilitySuppressions.xml index 46401cc6..da67a718 100644 --- a/Funcky/CompatibilitySuppressions.xml +++ b/Funcky/CompatibilitySuppressions.xml @@ -7,6 +7,12 @@ lib/net5.0/Funcky.dll lib/net6.0/Funcky.dll + + CP0002 + M:Funcky.Extensions.EnumerableExtensions.Shuffle``1(System.Collections.Generic.IEnumerable{``0}) + lib/net9.0/Funcky.dll + lib/net10.0/Funcky.dll + CP0021 M:Funcky.Extensions.DictionaryExtensions.GetValueOrNone``2(System.Collections.Generic.IDictionary{``0,``1},``0)``0:notnull diff --git a/Funcky/Extensions/EnumerableExtensions/Shuffle.cs b/Funcky/Extensions/EnumerableExtensions/Shuffle.cs index 5d6c9d0c..f2abb4b8 100644 --- a/Funcky/Extensions/EnumerableExtensions/Shuffle.cs +++ b/Funcky/Extensions/EnumerableExtensions/Shuffle.cs @@ -6,6 +6,7 @@ namespace Funcky.Extensions; public static partial class EnumerableExtensions { +#if !SHUFFLE_EXTENSION /// /// Returns the given sequence eagerly in random Order in O(n). /// @@ -14,6 +15,7 @@ public static partial class EnumerableExtensions [Pure] public static IReadOnlyList Shuffle(this IEnumerable source) => source.Shuffle(new Random()); +#endif /// /// Returns the given sequence eagerly in random Order in O(n). @@ -32,5 +34,5 @@ public static IReadOnlyList Shuffle(this IEnumerable => source .ToList() .ToRandomList(random); - #endif +#endif } diff --git a/Funcky/Funcky.csproj b/Funcky/Funcky.csproj index 56aad6bb..30e59407 100644 --- a/Funcky/Funcky.csproj +++ b/Funcky/Funcky.csproj @@ -1,7 +1,7 @@  - net9.0 - $(FunckyNewestTargetFramework);net8.0;net7.0;net6.0;net5.0;netcoreapp3.1;netstandard2.0;netstandard2.1 + net10.0 + $(FunckyNewestTargetFramework);net9.0;net8.0;net7.0;net6.0;net5.0;netcoreapp3.1;netstandard2.0;netstandard2.1 preview enable Funcky diff --git a/Funcky/PublicAPI.Shipped.txt b/Funcky/PublicAPI.Shipped.txt index c7b1e8bc..1bd77081 100644 --- a/Funcky/PublicAPI.Shipped.txt +++ b/Funcky/PublicAPI.Shipped.txt @@ -314,7 +314,6 @@ static Funcky.Extensions.EnumerableExtensions.Sequence(this Syst static Funcky.Extensions.EnumerableExtensions.Sequence(this System.Collections.Generic.IEnumerable>! source) -> Funcky.Monads.Option!> static Funcky.Extensions.EnumerableExtensions.Sequence(this System.Collections.Generic.IEnumerable>! source) -> Funcky.Monads.Result!> static Funcky.Extensions.EnumerableExtensions.Sequence(this System.Collections.Generic.IEnumerable!>! sequence) -> System.Lazy!>! -static Funcky.Extensions.EnumerableExtensions.Shuffle(this System.Collections.Generic.IEnumerable! source) -> System.Collections.Generic.IReadOnlyList! static Funcky.Extensions.EnumerableExtensions.Shuffle(this System.Collections.Generic.IEnumerable! source, System.Random! random) -> System.Collections.Generic.IReadOnlyList! static Funcky.Extensions.EnumerableExtensions.SingleOrNone(this System.Collections.Generic.IEnumerable! source) -> Funcky.Monads.Option static Funcky.Extensions.EnumerableExtensions.SingleOrNone(this System.Collections.Generic.IEnumerable! source, System.Func! predicate) -> Funcky.Monads.Option diff --git a/Funcky/PublicAPI.Unshipped.txt b/Funcky/PublicAPI.Unshipped.txt index 52871fca..f1a723c2 100644 --- a/Funcky/PublicAPI.Unshipped.txt +++ b/Funcky/PublicAPI.Unshipped.txt @@ -70,8 +70,13 @@ static Funcky.Extensions.ListExtensions.LastIndexOfOrNone(this System.Col static Funcky.Extensions.ListExtensions.LastIndexOfOrNone(this System.Collections.Immutable.IImmutableList! list, TItem item, int startIndex, int count, System.Collections.Generic.IEqualityComparer? equalityComparer) -> Funcky.Monads.Option static Funcky.Extensions.ListExtensions.LastIndexOfOrNone(this System.Collections.Immutable.IImmutableList! list, TItem item, System.Collections.Generic.IEqualityComparer? equalityComparer) -> Funcky.Monads.Option static Funcky.Extensions.OrderedDictionaryExtensions.IndexOfOrNone(this System.Collections.Generic.OrderedDictionary! dictionary, TKey key) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseGuidOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseGuidOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseIPAddressOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseIPNetworkOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseIPNetworkOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseIPNetworkOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseVersionOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option static Funcky.Functional.Apply(System.Func! func, Funcky.Unit p1, Funcky.Unit p2, Funcky.Unit p3, Funcky.Unit p4, T5 p5) -> System.Func! static Funcky.Functional.Apply(System.Func! func, Funcky.Unit p1, Funcky.Unit p2, Funcky.Unit p3, T4 p4, Funcky.Unit p5) -> System.Func! static Funcky.Functional.Apply(System.Func! func, Funcky.Unit p1, Funcky.Unit p2, Funcky.Unit p3, T4 p4, T5 p5) -> System.Func! diff --git a/global.json b/global.json index fe402e1f..311edc21 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "9.0.200", + "version": "10.0.103", "rollForward": "feature" } }