Skip to content

Commit 5e08b3f

Browse files
committed
Remove new ImmArray<T>(params ReadOnlySpan<T>) to revert API break.
1 parent 345146f commit 5e08b3f

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

Xledger.Collections.Test/TestImmArray.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ public void TestNew() {
234234
var x = new ImmArray<int>(new int[] { 1 });
235235
Assert.Equal(typeof(ImmArray<int>), x.GetType());
236236

237+
#if NET10_0_OR_GREATER
237238
var y = new ImmArray<int>(1);
238239
Assert.Equal(typeof(ImmArray<int>), y.GetType());
239240

@@ -248,6 +249,7 @@ public void TestNew() {
248249

249250
var c = new ImmArray<ExplicitIntArray>(new ExplicitIntArray(1));
250251
Assert.Equal(typeof(ImmArray<ExplicitIntArray>), c.GetType());
252+
#endif
251253
}
252254

253255
public record ImplicitIntArray(int i) {

Xledger.Collections/ImmArray.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ public static ImmArray<T> Of<T>(params T[] arr) {
99
#if NET10_0_OR_GREATER
1010
[System.Runtime.CompilerServices.OverloadResolutionPriority(1)]
1111
public static ImmArray<T> Of<T>(params ReadOnlySpan<T> span) {
12+
return new ImmArray<T>(span);
1213
#else
1314
public static ImmArray<T> Of<T>(ReadOnlySpan<T> span) {
15+
return new ImmArray<T>(span.ToArray());
1416
#endif
15-
return new ImmArray<T>(span);
1617
}
1718
#endif
1819

@@ -77,12 +78,14 @@ public ImmArray(IEnumerable<T> data) {
7778
}
7879
}
7980

81+
#if NET10_0_OR_GREATER
8082
/// <summary>
8183
/// Constructs an ImmArray by copying the span's contents.
8284
/// </summary>
8385
public ImmArray(params ReadOnlySpan<T> data) {
8486
this.data = data.ToArray();
8587
}
88+
#endif
8689

8790
public ReadOnlySpan<T> Span => this.data;
8891

0 commit comments

Comments
 (0)