33// See the LICENSE file in the project root for more information.
44
55using Xunit ;
6- using System . Runtime . CompilerServices ;
76using System . Buffers ;
7+ using System . Runtime . CompilerServices ;
8+ using System . Runtime . InteropServices ;
89
910namespace System . MemoryTests
1011{
@@ -16,13 +17,13 @@ public static void SliceWithStart()
1617 int [ ] a = { 90 , 91 , 92 , 93 , 94 , 95 , 96 , 97 , 98 , 99 } ;
1718 Memory < int > memory = new Memory < int > ( a ) . Slice ( 6 ) ;
1819 Assert . Equal ( 4 , memory . Length ) ;
19- Assert . True ( Unsafe . AreSame ( ref a [ 6 ] , ref memory . Span . DangerousGetPinnableReference ( ) ) ) ;
20+ Assert . True ( Unsafe . AreSame ( ref a [ 6 ] , ref MemoryMarshal . GetReference ( memory . Span ) ) ) ;
2021
2122 OwnedMemory < int > owner = new CustomMemoryForTest < int > ( a ) ;
2223 Memory < int > memoryFromOwner = owner . Memory . Slice ( 6 ) ;
2324
2425 Assert . Equal ( 4 , memoryFromOwner . Length ) ;
25- Assert . True ( Unsafe . AreSame ( ref a [ 6 ] , ref memoryFromOwner . Span . DangerousGetPinnableReference ( ) ) ) ;
26+ Assert . True ( Unsafe . AreSame ( ref a [ 6 ] , ref MemoryMarshal . GetReference ( memoryFromOwner . Span ) ) ) ;
2627 }
2728
2829 [ Fact ]
@@ -31,13 +32,13 @@ public static void SliceWithStartPastEnd()
3132 int [ ] a = { 90 , 91 , 92 , 93 , 94 , 95 , 96 , 97 , 98 , 99 } ;
3233 Memory < int > memory = new Memory < int > ( a ) . Slice ( a . Length ) ;
3334 Assert . Equal ( 0 , memory . Length ) ;
34- Assert . True ( Unsafe . AreSame ( ref a [ a . Length - 1 ] , ref Unsafe . Subtract ( ref memory . Span . DangerousGetPinnableReference ( ) , 1 ) ) ) ;
35+ Assert . True ( Unsafe . AreSame ( ref a [ a . Length - 1 ] , ref Unsafe . Subtract ( ref MemoryMarshal . GetReference ( memory . Span ) , 1 ) ) ) ;
3536
3637 OwnedMemory < int > owner = new CustomMemoryForTest < int > ( a ) ;
3738 Memory < int > memoryFromOwner = owner . Memory . Slice ( a . Length ) ;
3839
3940 Assert . Equal ( 0 , memoryFromOwner . Length ) ;
40- Assert . True ( Unsafe . AreSame ( ref a [ a . Length - 1 ] , ref Unsafe . Subtract ( ref memoryFromOwner . Span . DangerousGetPinnableReference ( ) , 1 ) ) ) ;
41+ Assert . True ( Unsafe . AreSame ( ref a [ a . Length - 1 ] , ref Unsafe . Subtract ( ref MemoryMarshal . GetReference ( memoryFromOwner . Span ) , 1 ) ) ) ;
4142 }
4243
4344 [ Fact ]
@@ -46,13 +47,13 @@ public static void SliceWithStartAndLength()
4647 int [ ] a = { 90 , 91 , 92 , 93 , 94 , 95 , 96 , 97 , 98 , 99 } ;
4748 Memory < int > memory = new Memory < int > ( a ) . Slice ( 3 , 5 ) ;
4849 Assert . Equal ( 5 , memory . Length ) ;
49- Assert . True ( Unsafe . AreSame ( ref a [ 3 ] , ref memory . Span . DangerousGetPinnableReference ( ) ) ) ;
50+ Assert . True ( Unsafe . AreSame ( ref a [ 3 ] , ref MemoryMarshal . GetReference ( memory . Span ) ) ) ;
5051
5152 OwnedMemory < int > owner = new CustomMemoryForTest < int > ( a ) ;
5253 Memory < int > memoryFromOwner = owner . Memory . Slice ( 3 , 5 ) ;
5354
5455 Assert . Equal ( 5 , memoryFromOwner . Length ) ;
55- Assert . True ( Unsafe . AreSame ( ref a [ 3 ] , ref memoryFromOwner . Span . DangerousGetPinnableReference ( ) ) ) ;
56+ Assert . True ( Unsafe . AreSame ( ref a [ 3 ] , ref MemoryMarshal . GetReference ( memoryFromOwner . Span ) ) ) ;
5657 }
5758
5859 [ Fact ]
@@ -61,13 +62,13 @@ public static void SliceWithStartAndLengthUpToEnd()
6162 int [ ] a = { 90 , 91 , 92 , 93 , 94 , 95 , 96 , 97 , 98 , 99 } ;
6263 Memory < int > memory = new Memory < int > ( a ) . Slice ( 4 , 6 ) ;
6364 Assert . Equal ( 6 , memory . Length ) ;
64- Assert . True ( Unsafe . AreSame ( ref a [ 4 ] , ref memory . Span . DangerousGetPinnableReference ( ) ) ) ;
65+ Assert . True ( Unsafe . AreSame ( ref a [ 4 ] , ref MemoryMarshal . GetReference ( memory . Span ) ) ) ;
6566
6667 OwnedMemory < int > owner = new CustomMemoryForTest < int > ( a ) ;
6768 Memory < int > memoryFromOwner = owner . Memory . Slice ( 4 , 6 ) ;
6869
6970 Assert . Equal ( 6 , memoryFromOwner . Length ) ;
70- Assert . True ( Unsafe . AreSame ( ref a [ 4 ] , ref memoryFromOwner . Span . DangerousGetPinnableReference ( ) ) ) ;
71+ Assert . True ( Unsafe . AreSame ( ref a [ 4 ] , ref MemoryMarshal . GetReference ( memoryFromOwner . Span ) ) ) ;
7172 }
7273
7374 [ Fact ]
@@ -76,13 +77,13 @@ public static void SliceWithStartAndLengthPastEnd()
7677 int [ ] a = { 90 , 91 , 92 , 93 , 94 , 95 , 96 , 97 , 98 , 99 } ;
7778 Memory < int > memory = new Memory < int > ( a ) . Slice ( a . Length , 0 ) ;
7879 Assert . Equal ( 0 , memory . Length ) ;
79- Assert . True ( Unsafe . AreSame ( ref a [ a . Length - 1 ] , ref Unsafe . Subtract ( ref memory . Span . DangerousGetPinnableReference ( ) , 1 ) ) ) ;
80+ Assert . True ( Unsafe . AreSame ( ref a [ a . Length - 1 ] , ref Unsafe . Subtract ( ref MemoryMarshal . GetReference ( memory . Span ) , 1 ) ) ) ;
8081
8182 OwnedMemory < int > owner = new CustomMemoryForTest < int > ( a ) ;
8283 Memory < int > memoryFromOwner = owner . Memory . Slice ( a . Length , 0 ) ;
8384
8485 Assert . Equal ( 0 , memoryFromOwner . Length ) ;
85- Assert . True ( Unsafe . AreSame ( ref a [ a . Length - 1 ] , ref Unsafe . Subtract ( ref memoryFromOwner . Span . DangerousGetPinnableReference ( ) , 1 ) ) ) ;
86+ Assert . True ( Unsafe . AreSame ( ref a [ a . Length - 1 ] , ref Unsafe . Subtract ( ref MemoryMarshal . GetReference ( memoryFromOwner . Span ) , 1 ) ) ) ;
8687 }
8788
8889 [ Fact ]
0 commit comments