Skip to content

Commit 20cee43

Browse files
Update dependencies (#712)
1 parent b6a59b5 commit 20cee43

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+118
-137
lines changed

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ jobs:
3535
run: dotnet test -c Release --no-build --logger GitHubActions
3636

3737
- name: Upload coverage reports to Codecov with GitHub Action
38-
uses: codecov/codecov-action@v4
38+
uses: codecov/codecov-action@v5
3939
with:
4040
token: ${{ secrets.CODECOV_TOKEN }}

Directory.Packages.props

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
11
<Project>
22
<PropertyGroup>
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
4+
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
45
</PropertyGroup>
56

67
<ItemGroup>
7-
<PackageVersion Include="CommunityToolkit.Diagnostics" Version="8.3.0" />
88
<PackageVersion Include="coverlet.collector" Version="6.0.2" />
99
<PackageVersion Include="coverlet.msbuild" Version="6.0.2" />
10-
<PackageVersion Include="DocFx.App" Version="2.77.0" />
10+
<PackageVersion Include="DocFx.App" Version="2.78.2" />
11+
<PackageVersion Include="DotNet.ReproducibleBuilds" Version="1.2.25" />
1112
<PackageVersion Include="GitHubActionsTestLogger" Version="2.4.1" />
1213
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="1.1.1" />
1314
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0" />
14-
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" />
15+
<PackageVersion Include="Microsoft.CodeAnalysis" Version="4.12.0" />
16+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
1517
<PackageVersion Include="Microsoft.CodeAnalysis.PublicApiAnalyzers" Version="3.3.4" />
18+
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic" Version="4.12.0" />
19+
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.MSBuild" Version="4.12.0" />
1620
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
17-
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
1821
<PackageVersion Include="MinVer" Version="6.0.0" />
19-
<PackageVersion Include="Scriban" Version="5.10.0" />
22+
<PackageVersion Include="Scriban" Version="5.12.1" />
2023
<PackageVersion Include="System.Linq.Async" Version="6.0.1" />
2124
<PackageVersion Include="System.Memory" Version="4.5.5" />
2225
<PackageVersion Include="ThisAssembly.Resources" Version="1.4.3" />
@@ -32,7 +35,7 @@
3235
</ItemGroup>
3336

3437
<ItemGroup>
35-
<GlobalPackageReference Include="Meziantou.Analyzer" Version="2.0.169" />
36-
<GlobalPackageReference Include="PolySharp" Version="1.14.1" />
38+
<GlobalPackageReference Include="Meziantou.Analyzer" Version="2.0.184" />
39+
<GlobalPackageReference Include="PolySharp" Version="1.15.0" />
3740
</ItemGroup>
3841
</Project>

Docs/SuperLinq.Docs/SuperLinq.Docs.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFrameworks>net8.0</TargetFrameworks>
5+
<TargetFrameworks>net9.0</TargetFrameworks>
66
<NoWarn>$(NoWarn);CA1852;NU1701;NU1902;NU1903</NoWarn>
77
<IsPackable>false</IsPackable>
88
</PropertyGroup>

Generators/SuperLinq.Async.Generator/Generator.cs Generators/SuperLinq.Async.Generator/IncrementalGenerator.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace SuperLinq.Async.Generator;
1010
/// Uses source generation tools to automate the building of some operators
1111
/// </summary>
1212
[Generator]
13-
public sealed class Generator : IIncrementalGenerator
13+
public sealed class IncrementalGenerator : IIncrementalGenerator
1414
{
1515
/// <inheritdoc />
1616
public void Initialize(IncrementalGeneratorInitializationContext context)
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,42 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0</TargetFrameworks>
5-
<IncludeBuildOutput>false</IncludeBuildOutput>
6-
<IsPackable>false</IsPackable>
7-
<IsRoslynComponent>true</IsRoslynComponent>
4+
<TargetFrameworks>netstandard2.0</TargetFrameworks>
5+
<IncludeBuildOutput>false</IncludeBuildOutput>
6+
<IsPackable>false</IsPackable>
7+
<IsRoslynComponent>true</IsRoslynComponent>
88

9-
<!-- Avoid figuring out an actual dependency on Scriban -->
10-
<PackageScribanIncludeSource>true</PackageScribanIncludeSource>
9+
<!-- Analyzer checks-->
10+
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
1111

12-
<!-- Scriban fails a lot of things in latest-all... -->
13-
<AnalysisLevel>latest-default</AnalysisLevel>
14-
15-
<!-- Analyzer checks-->
16-
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
17-
18-
<!-- Other things to turn off -->
19-
<NoWarn>$(NoWarn);RS1035;SL03</NoWarn>
12+
<!-- Other things to turn off -->
13+
<NoWarn>$(NoWarn);RS1035</NoWarn>
2014
</PropertyGroup>
2115

2216
<ItemGroup>
23-
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" PrivateAssets="all" />
24-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" PrivateAssets="all" />
25-
<PackageReference Include="Scriban" IncludeAssets="build" />
26-
<PackageReference Include="ThisAssembly.Resources" PrivateAssets="all" />
17+
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" PrivateAssets="all" />
18+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" PrivateAssets="all" />
19+
<PackageReference Include="Scriban" PrivateAssets="all" GeneratePathProperty="true" />
20+
<PackageReference Include="ThisAssembly.Resources" PrivateAssets="all" />
2721
</ItemGroup>
2822

29-
<ItemGroup>
30-
<None Remove="*.sbntxt" />
31-
<EmbeddedResource Include="*.sbntxt" Kind="Text" />
32-
</ItemGroup>
23+
<PropertyGroup>
24+
<GetTargetPathDependsOn>$(GetTargetPathDependsOn);GetDependencyTargetPaths</GetTargetPathDependsOn>
25+
</PropertyGroup>
26+
27+
<Target Name="GetDependencyTargetPaths">
28+
<ItemGroup>
29+
<TargetPathWithTargetPlatformMoniker Include="$(PkgScriban)/lib/netstandard2.0/Scriban.dll" IncludeRuntimeDependency="false" />
30+
</ItemGroup>
31+
</Target>
3332

3433
<ItemGroup>
35-
<Compile Include="../SuperLinq.Generator/ArgumentNames.cs" />
34+
<None Remove="*.sbntxt" />
35+
<EmbeddedResource Include="*.sbntxt" Kind="Text" />
3636
</ItemGroup>
3737

3838
<ItemGroup>
39-
<EmbeddedResource Update="ZipLongest.sbntxt">
40-
<Kind>Text</Kind>
41-
</EmbeddedResource>
39+
<Compile Include="../SuperLinq.Generator/ArgumentNames.cs" />
4240
</ItemGroup>
4341

4442
</Project>

Generators/SuperLinq.Generator/ArgumentNames.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
namespace SuperLinq.Generator;
1+
namespace SuperLinq.Generator;
22

33
/// <summary>
44
/// int->string translations of different types.
55
/// </summary>
6-
public record ArgumentNames(string[] Arity, string[] Ordinals, string[] Cardinals)
6+
public record ArgumentNames(IReadOnlyList<string> Arity, IReadOnlyList<string> Ordinals, IReadOnlyList<string> Cardinals)
77
{
88
/// <summary>
99
/// int->string translations of different types.

Generators/SuperLinq.Generator/Generator.cs Generators/SuperLinq.Generator/IncrementalGenerator.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace SuperLinq.Generator;
99
/// Uses source generation tools to automate the building of some operators
1010
/// </summary>
1111
[Generator]
12-
public sealed class Generator : IIncrementalGenerator
12+
public sealed class IncrementalGenerator : IIncrementalGenerator
1313
{
1414
/// <inheritdoc />
1515
public void Initialize(IncrementalGeneratorInitializationContext context)
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,38 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0</TargetFrameworks>
5-
<IncludeBuildOutput>false</IncludeBuildOutput>
6-
<IsPackable>false</IsPackable>
7-
<IsRoslynComponent>true</IsRoslynComponent>
4+
<TargetFrameworks>netstandard2.0</TargetFrameworks>
5+
<IncludeBuildOutput>false</IncludeBuildOutput>
6+
<IsPackable>false</IsPackable>
7+
<IsRoslynComponent>true</IsRoslynComponent>
88

9-
<!-- Avoid figuring out an actual dependency on Scriban -->
10-
<PackageScribanIncludeSource>true</PackageScribanIncludeSource>
9+
<!-- Analyzer checks-->
10+
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
1111

12-
<!-- Scriban fails a lot of things in latest-all... -->
13-
<AnalysisLevel>latest-default</AnalysisLevel>
14-
15-
<!-- Analyzer checks-->
16-
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
17-
18-
<!-- Other things to turn off -->
19-
<NoWarn>$(NoWarn);RS1035;SL03</NoWarn>
12+
<!-- Other things to turn off -->
13+
<NoWarn>$(NoWarn);RS1035</NoWarn>
2014
</PropertyGroup>
2115

2216
<ItemGroup>
23-
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" PrivateAssets="all" />
24-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" PrivateAssets="all" />
25-
<PackageReference Include="Scriban" IncludeAssets="build" />
26-
<PackageReference Include="ThisAssembly.Resources" PrivateAssets="all" />
17+
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" PrivateAssets="all" />
18+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" PrivateAssets="all" />
19+
<PackageReference Include="Scriban" PrivateAssets="all" GeneratePathProperty="true" />
20+
<PackageReference Include="ThisAssembly.Resources" PrivateAssets="all" />
2721
</ItemGroup>
2822

23+
<PropertyGroup>
24+
<GetTargetPathDependsOn>$(GetTargetPathDependsOn);GetDependencyTargetPaths</GetTargetPathDependsOn>
25+
</PropertyGroup>
26+
27+
<Target Name="GetDependencyTargetPaths">
28+
<ItemGroup>
29+
<TargetPathWithTargetPlatformMoniker Include="$(PkgScriban)/lib/netstandard2.0/Scriban.dll" IncludeRuntimeDependency="false" />
30+
</ItemGroup>
31+
</Target>
32+
2933
<ItemGroup>
30-
<None Remove="*.sbntxt" />
31-
<EmbeddedResource Include="*.sbntxt" Kind="Text" />
34+
<None Remove="*.sbntxt" />
35+
<EmbeddedResource Include="*.sbntxt" Kind="Text" />
3236
</ItemGroup>
3337

3438
</Project>

Source/SuperLinq.Async/Random.cs

+2-3
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,8 @@ private sealed class GlobalRandom : Random
218218
{
219219
private static int s_seed = Environment.TickCount;
220220

221-
[ThreadStatic] private static Random? s_threadRandom;
222-
223-
private static Random ThreadRandom => s_threadRandom ??= new Random(Interlocked.Increment(ref s_seed));
221+
[field: ThreadStatic, System.Diagnostics.CodeAnalysis.MaybeNull]
222+
private static Random ThreadRandom => field ??= new Random(Interlocked.Increment(ref s_seed));
224223

225224
public override int Next() => ThreadRandom.Next();
226225
public override int Next(int minValue, int maxValue) => ThreadRandom.Next(minValue, maxValue);

Source/SuperLinq.Async/SuperLinq.Async.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@
118118
</ItemGroup>
119119

120120
<ItemGroup>
121+
<PackageReference Include="DotNet.ReproducibleBuilds" PrivateAssets="All" />
121122
<PackageReference Include="Microsoft.Bcl.HashCode" />
122123
<PackageReference Include="Microsoft.CodeAnalysis.PublicApiAnalyzers" PrivateAssets="All" />
123-
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
124124
<PackageReference Include="MinVer" PrivateAssets="All" />
125125
<PackageReference Include="System.Linq.Async" />
126126
<PackageReference Include="System.Memory" />

Source/SuperLinq/Random.cs

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace SuperLinq;
1+
namespace SuperLinq;
22

33
public static partial class SuperEnumerable
44
{
@@ -215,9 +215,8 @@ private sealed class GlobalRandom : Random
215215
{
216216
private static int s_seed = Environment.TickCount;
217217

218-
[ThreadStatic] private static Random? s_threadRandom;
219-
220-
private static Random ThreadRandom => s_threadRandom ??= new Random(Interlocked.Increment(ref s_seed));
218+
[field: ThreadStatic, System.Diagnostics.CodeAnalysis.MaybeNull]
219+
private static Random ThreadRandom => field ??= new Random(Interlocked.Increment(ref s_seed));
221220

222221
public override int Next() => ThreadRandom.Next();
223222
public override int Next(int minValue, int maxValue) => ThreadRandom.Next(minValue, maxValue);

Source/SuperLinq/SuperLinq.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@
163163
</ItemGroup>
164164

165165
<ItemGroup>
166+
<PackageReference Include="DotNet.ReproducibleBuilds" PrivateAssets="All" />
166167
<PackageReference Include="Microsoft.Bcl.HashCode" />
167168
<PackageReference Include="Microsoft.CodeAnalysis.PublicApiAnalyzers" PrivateAssets="All" />
168-
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
169-
<PackageReference Include="MinVer" PrivateAssets="All" />
169+
<PackageReference Include="MinVer" PrivateAssets="All" />
170170
<PackageReference Include="System.Memory" />
171171
</ItemGroup>
172172

Tests/SuperLinq.Async.Test/MemoizeTest.cs

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Collections;
2-
using CommunityToolkit.Diagnostics;
32

43
namespace Test.Async;
54

@@ -230,10 +229,10 @@ public async Task MemoizeRethrowsErrorDuringIterationToAllsUntilReset()
230229
await using (var r1 = memoized.Read())
231230
await using (var r2 = memoized.Read())
232231
{
233-
Guard.IsTrue(await r1.Read() == await r2.Read());
232+
Assert.True(await r1.Read() == await r2.Read());
234233
_ = await Assert.ThrowsAsync<TestException>(async () => await r1.Read());
235234

236-
Guard.IsTrue(xs.IsDisposed);
235+
Assert.True(xs.IsDisposed);
237236

238237
_ = await Assert.ThrowsAsync<TestException>(async () => await r2.Read());
239238
}
@@ -259,7 +258,7 @@ public async Task MemoizeRethrowsErrorDuringIterationStartToAllsUntilReset()
259258
await using (var r2 = buffer.Read())
260259
{
261260
_ = await Assert.ThrowsAsync<TestException>(async () => await r1.Read());
262-
Guard.IsTrue(xs.IsDisposed);
261+
Assert.True(xs.IsDisposed);
263262
_ = await Assert.ThrowsAsync<TestException>(async () => await r2.Read());
264263
}
265264

@@ -269,7 +268,7 @@ public async Task MemoizeRethrowsErrorDuringIterationStartToAllsUntilReset()
269268
Assert.Equal(0, buffer.Count);
270269
await using (var r1 = buffer.Read())
271270
await using (var r2 = buffer.Read())
272-
Guard.IsTrue(await r1.Read() == await r2.Read());
271+
Assert.True(await r1.Read() == await r2.Read());
273272

274273
Assert.Equal(1, buffer.Count);
275274
}

Tests/SuperLinq.Async.Test/NullArgumentTest.cs

+4-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
#endif
66
using System.Linq.Expressions;
77
using System.Reflection;
8-
using CommunityToolkit.Diagnostics;
98
using Debug = System.Diagnostics.Debug;
109

1110
namespace Test.Async;
@@ -241,7 +240,7 @@ public sealed class OrderedEnumerable<T> : Enumerable<T>, IOrderedEnumerable<T>
241240
{
242241
public IOrderedEnumerable<T> CreateOrderedEnumerable<TKey>(Func<T, TKey> keySelector, IComparer<TKey>? comparer, bool descending)
243242
{
244-
Guard.IsNotNull(keySelector);
243+
Assert.NotNull(keySelector);
245244
return this;
246245
}
247246
}
@@ -262,19 +261,19 @@ public sealed class OrderedAsyncEnumerable<T> : AsyncEnumerable<T>, IOrderedAsyn
262261
{
263262
public IOrderedAsyncEnumerable<T> CreateOrderedEnumerable<TKey>(Func<T, TKey> keySelector, IComparer<TKey>? comparer, bool descending)
264263
{
265-
Guard.IsNotNull(keySelector);
264+
Assert.NotNull(keySelector);
266265
return this;
267266
}
268267

269268
public IOrderedAsyncEnumerable<T> CreateOrderedEnumerable<TKey>(Func<T, ValueTask<TKey>> keySelector, IComparer<TKey>? comparer, bool descending)
270269
{
271-
Guard.IsNotNull(keySelector);
270+
Assert.NotNull(keySelector);
272271
return this;
273272
}
274273

275274
public IOrderedAsyncEnumerable<T> CreateOrderedEnumerable<TKey>(Func<T, CancellationToken, ValueTask<TKey>> keySelector, IComparer<TKey>? comparer, bool descending)
276275
{
277-
Guard.IsNotNull(keySelector);
276+
Assert.NotNull(keySelector);
278277
return this;
279278
}
280279
}

Tests/SuperLinq.Async.Test/PublishTest.cs

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using CommunityToolkit.Diagnostics;
2-
3-
namespace Test.Async;
1+
namespace Test.Async;
42

53
public sealed class PublishTest
64
{
@@ -246,7 +244,7 @@ public async Task PublishRethrowsErrorDuringIterationToAllIteratorsUntilReset()
246244

247245
_ = await Assert.ThrowsAsync<TestException>(async () => await r1.Read());
248246
_ = await Assert.ThrowsAsync<TestException>(async () => await r2.Read());
249-
Guard.IsTrue(xs.IsDisposed);
247+
Assert.True(xs.IsDisposed);
250248
}
251249

252250
await using (var r3 = buffer.Read())

Tests/SuperLinq.Async.Test/SequenceReader.cs

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
using System.Diagnostics.CodeAnalysis;
2-
using CommunityToolkit.Diagnostics;
32

43
namespace Test.Async;
54

65
internal static class SequenceReader
76
{
87
public static SequenceReader<T> Read<T>(this IAsyncEnumerable<T> source)
98
{
10-
Guard.IsNotNull(source);
9+
Assert.NotNull(source);
1110
return new SequenceReader<T>(source);
1211
}
1312
}
@@ -40,13 +39,13 @@ public SequenceReader(IAsyncEnumerable<T> source) :
4039

4140
public SequenceReader(IAsyncEnumerator<T> enumerator)
4241
{
43-
Guard.IsNotNull(enumerator);
42+
Assert.NotNull(enumerator);
4443
_enumerator = enumerator;
4544
}
4645

4746
private static IAsyncEnumerator<T> GetEnumerator(IAsyncEnumerable<T> source)
4847
{
49-
Guard.IsNotNull(source);
48+
Assert.NotNull(source);
5049
return source.GetAsyncEnumerator();
5150
}
5251

0 commit comments

Comments
 (0)