diff --git a/src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableArray_1.Builder.cs b/src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableArray_1.Builder.cs index 9f596e8f7578a7..4de80f12537927 100644 --- a/src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableArray_1.Builder.cs +++ b/src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableArray_1.Builder.cs @@ -540,6 +540,8 @@ public bool Remove(T element, IEqualityComparer? equalityComparer) /// public void RemoveAll(Predicate match) { + Requires.NotNull(match, nameof(match)); + List? removeIndices = null; for (int i = 0; i < _count; i++) { diff --git a/src/libraries/System.Collections.Immutable/tests/ImmutableArrayBuilderTest.cs b/src/libraries/System.Collections.Immutable/tests/ImmutableArrayBuilderTest.cs index 841bfc451e332d..df05ab75b25d99 100644 --- a/src/libraries/System.Collections.Immutable/tests/ImmutableArrayBuilderTest.cs +++ b/src/libraries/System.Collections.Immutable/tests/ImmutableArrayBuilderTest.cs @@ -413,6 +413,8 @@ public void RemoveAll() builder.RemoveAll(n => n % 2 == 0); Assert.Equal(new[] { 1, 3, 5, 7 }, builder); + + AssertExtensions.Throws("match", () => builder.RemoveAll(match: null)); } [Fact]