diff --git a/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.Array.cs b/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.Array.cs index da334e4a..b3b82ae3 100644 --- a/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.Array.cs +++ b/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.Array.cs @@ -15,7 +15,7 @@ internal Builder AddRange([AllowNull] params T[] items) return this; } - InnerAddRange(items, items.Length); + InnerAddRange(items); return this; } @@ -38,6 +38,14 @@ internal Builder AddRange([AllowNull] T[] items, int length) return this; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void InnerAddRange(T[] items) + { + InnerBufferHelperEx.EnsureBufferCapacity(ref this.items, length, items.Length); + new ReadOnlySpan(items).CopyTo(new Span(this.items, length, items.Length)); + length += items.Length; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] private void InnerAddRange(T[] items, int length) { diff --git a/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.FlatArray.cs b/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.FlatArray.cs index 11cacee8..d7d4f16f 100644 --- a/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.FlatArray.cs +++ b/src/flatcollections-array/FlatArray/FlatArray.T.Builder/FlatArray.Builder.AddRange.FlatArray.cs @@ -12,7 +12,7 @@ internal Builder AddRange(FlatArray items) return this; } - InnerAddRange(items, items.length); + InnerAddRange(items); return this; }