Skip to content

Commit 6a0761a

Browse files
committed
Ensure tests properly handle ref readonly changes
1 parent b5435fd commit 6a0761a

File tree

26 files changed

+105
-103
lines changed

26 files changed

+105
-103
lines changed

src/libraries/System.Collections.Concurrent/tests/ConcurrentDictionary/ConcurrentDictionary.Generic.Tests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,13 @@ static T AssertNotNull<T>(T value, [CallerArgumentExpression(nameof(value))] str
114114
uint hash1 = (5381 << 16) + 5381;
115115
uint hash2 = BitOperations.RotateLeft(hash1, 5) + hash1;
116116

117-
MemoryMarshal.Write(asBytes, ref seed);
118-
MemoryMarshal.Write(asBytes.Slice(4), ref hash2); // set hash2 := 0 (for Ordinal)
117+
MemoryMarshal.Write(asBytes, in seed);
118+
MemoryMarshal.Write(asBytes.Slice(4), in hash2); // set hash2 := 0 (for Ordinal)
119119

120120
hash1 = (BitOperations.RotateLeft(hash1, 5) + hash1) ^ (uint)seed;
121121
hash1 = (BitOperations.RotateLeft(hash1, 5) + hash1);
122122

123-
MemoryMarshal.Write(asBytes.Slice(8), ref hash1); // set hash1 := 0 (for Ordinal)
123+
MemoryMarshal.Write(asBytes.Slice(8), in hash1); // set hash1 := 0 (for Ordinal)
124124
});
125125

126126
int ordinalHashCode = nonRandomizedOrdinal(candidate);

src/libraries/System.Collections.Immutable/tests/ImmutableArrayBuilderTest.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ public void AddRangeDerivedSpan(string[] builderElements, string[] rangeElements
199199

200200
// AddRange
201201
builder.AddRange(new ReadOnlySpan<string>(rangeElements));
202-
202+
203203
// Assert
204204
Assert.Equal(expectedResult, builder);
205205
}
@@ -214,7 +214,7 @@ public void AddRangeDerivedImmutableArray(string[] builderElements, string[] ran
214214

215215
// AddRange
216216
builder.AddRange(rangeElements.ToImmutableArray());
217-
217+
218218
// Assert
219219
Assert.Equal(expectedResult, builder);
220220
}
@@ -226,7 +226,7 @@ public void AddRangeDerivedBuilder(string[] builderElements, string[] rangeEleme
226226
// Initialize builder
227227
var builderBase = new ImmutableArray<object>.Builder();
228228
builderBase.AddRange(builderElements);
229-
229+
230230
// Prepare another builder to add
231231
var builder = new ImmutableArray<string>.Builder();
232232
builder.AddRange(rangeElements);
@@ -1108,7 +1108,7 @@ public void ItemRef()
11081108
builder.Add(3);
11091109

11101110
ref readonly int safeRef = ref builder.ItemRef(1);
1111-
ref int unsafeRef = ref Unsafe.AsRef(safeRef);
1111+
ref int unsafeRef = ref Unsafe.AsRef(in safeRef);
11121112

11131113
Assert.Equal(2, builder.ItemRef(1));
11141114

src/libraries/System.Collections.Immutable/tests/ImmutableArrayTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2552,7 +2552,7 @@ public void ItemRef()
25522552
var array = new[] { 1, 2, 3 }.ToImmutableArray();
25532553

25542554
ref readonly int safeRef = ref array.ItemRef(1);
2555-
ref int unsafeRef = ref Unsafe.AsRef(safeRef);
2555+
ref int unsafeRef = ref Unsafe.AsRef(in safeRef);
25562556

25572557
Assert.Equal(2, array.ItemRef(1));
25582558

src/libraries/System.Collections.Immutable/tests/ImmutableListBuilderTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ public void RemoveRange()
228228

229229
mutable.RemoveRange(new double[] { 2.4, 3.6 });
230230
Assert.Equal(new[] { 1.5, 4.7 }, mutable);
231-
231+
232232
var absComparer = new DelegateEqualityComparer<double>(equals: (x, y) => Math.Abs(x) == Math.Abs(y));
233233
mutable.RemoveRange(new double[] { -1.5 }, absComparer);
234234
Assert.Equal(new[] { 4.7 }, mutable);
@@ -431,7 +431,7 @@ public void ItemRef()
431431
var builder = new ImmutableList<int>.Builder(list);
432432

433433
ref readonly int safeRef = ref builder.ItemRef(1);
434-
ref int unsafeRef = ref Unsafe.AsRef(safeRef);
434+
ref int unsafeRef = ref Unsafe.AsRef(in safeRef);
435435

436436
Assert.Equal(2, builder.ItemRef(1));
437437

src/libraries/System.Collections.Immutable/tests/ImmutableListTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -820,7 +820,7 @@ public void ItemRef()
820820
ImmutableList<int> list = new[] { 1, 2, 3 }.ToImmutableList();
821821

822822
ref readonly int safeRef = ref list.ItemRef(1);
823-
ref int unsafeRef = ref Unsafe.AsRef(safeRef);
823+
ref int unsafeRef = ref Unsafe.AsRef(in safeRef);
824824

825825
Assert.Equal(2, list.ItemRef(1));
826826

src/libraries/System.Collections.Immutable/tests/ImmutableQueueTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ public void PeekRef()
268268
.Enqueue(3);
269269

270270
ref readonly int safeRef = ref queue.PeekRef();
271-
ref int unsafeRef = ref Unsafe.AsRef(safeRef);
271+
ref int unsafeRef = ref Unsafe.AsRef(in safeRef);
272272

273273
Assert.Equal(1, queue.PeekRef());
274274

src/libraries/System.Collections.Immutable/tests/ImmutableSortedDictionaryBuilderTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ public void ValueRef()
286286
}.ToImmutableSortedDictionary().ToBuilder();
287287

288288
ref readonly int safeRef = ref builder.ValueRef("a");
289-
ref int unsafeRef = ref Unsafe.AsRef(safeRef);
289+
ref int unsafeRef = ref Unsafe.AsRef(in safeRef);
290290

291291
Assert.Equal(1, builder.ValueRef("a"));
292292

src/libraries/System.Collections.Immutable/tests/ImmutableSortedDictionaryTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ public void ValueRef()
434434
}.ToImmutableSortedDictionary();
435435

436436
ref readonly int safeRef = ref dictionary.ValueRef("a");
437-
ref int unsafeRef = ref Unsafe.AsRef(safeRef);
437+
ref int unsafeRef = ref Unsafe.AsRef(in safeRef);
438438

439439
Assert.Equal(1, dictionary.ValueRef("a"));
440440

src/libraries/System.Collections.Immutable/tests/ImmutableSortedSetBuilderTest.nonnetstandard.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public void ItemRef()
1919
var builder = new ImmutableSortedSet<int>.Builder(array);
2020

2121
ref readonly int safeRef = ref builder.ItemRef(1);
22-
ref int unsafeRef = ref Unsafe.AsRef(safeRef);
22+
ref int unsafeRef = ref Unsafe.AsRef(in safeRef);
2323

2424
Assert.Equal(2, builder.ItemRef(1));
2525

src/libraries/System.Collections.Immutable/tests/ImmutableSortedSetTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ public void ItemRef()
410410
var array = new[] { 1, 2, 3 }.ToImmutableSortedSet();
411411

412412
ref readonly int safeRef = ref array.ItemRef(1);
413-
ref int unsafeRef = ref Unsafe.AsRef(safeRef);
413+
ref int unsafeRef = ref Unsafe.AsRef(in safeRef);
414414

415415
Assert.Equal(2, array.ItemRef(1));
416416

0 commit comments

Comments
 (0)