@@ -84,7 +84,7 @@ static IEnumerable<Memory<T>> SubsetsCore(IReadOnlyList<T> source, int count, Me
8484 public static IEnumerable < ReadOnlyMemory < T > > SubsetsBuffered < T > ( this IReadOnlyList < T > source , int count )
8585 {
8686 using var lease = MemoryPool < T > . Shared . Rent ( count ) ;
87- Memory < T > buffer = lease . Memory ;
87+ Memory < T > buffer = lease . Memory . Slice ( 0 , count ) ;
8888 ReadOnlyMemory < T > readBuffer = buffer ;
8989 foreach ( Memory < T > _ in Subsets ( source , count , buffer ) )
9090 yield return readBuffer ;
@@ -99,7 +99,7 @@ public static IEnumerable<ReadOnlyMemory<T>> SubsetsBuffered<T>(this IReadOnlyLi
9999 public static IEnumerable < T [ ] > Subsets < T > ( this IReadOnlyList < T > source , int count )
100100 {
101101 using var lease = MemoryPool < T > . Shared . Rent ( count ) ;
102- Memory < T > buffer = lease . Memory ;
102+ Memory < T > buffer = lease . Memory . Slice ( 0 , count ) ;
103103 foreach ( Memory < T > _ in Subsets ( source , count , buffer ) )
104104 {
105105 var a = new T [ count ] ;
@@ -192,7 +192,7 @@ static IEnumerable<Memory<T>> SubsetsCore(ReadOnlyMemory<T> source, int count, M
192192 public static IEnumerable < ReadOnlyMemory < T > > SubsetsBuffered < T > ( this ReadOnlyMemory < T > source , int count )
193193 {
194194 using var lease = MemoryPool < T > . Shared . Rent ( count ) ;
195- Memory < T > buffer = lease . Memory ;
195+ Memory < T > buffer = lease . Memory . Slice ( 0 , count ) ;
196196 ReadOnlyMemory < T > readBuffer = buffer ;
197197 foreach ( Memory < T > _ in Subsets ( source , count , buffer ) )
198198 yield return readBuffer ;
@@ -202,7 +202,7 @@ public static IEnumerable<ReadOnlyMemory<T>> SubsetsBuffered<T>(this ReadOnlyMem
202202 public static IEnumerable < T [ ] > Subsets < T > ( this ReadOnlyMemory < T > source , int count )
203203 {
204204 using var lease = MemoryPool < T > . Shared . Rent ( count ) ;
205- Memory < T > buffer = lease . Memory ;
205+ Memory < T > buffer = lease . Memory . Slice ( 0 , count ) ;
206206 foreach ( Memory < T > _ in Subsets ( source , count , buffer ) )
207207 {
208208 var a = new T [ count ] ;
0 commit comments