@@ -94,7 +94,7 @@ unsafe impl<T: INSObject> RefEncode for NSFastEnumerationState<T> {
94
94
const ENCODING_REF : Encoding < ' static > = Encoding :: Pointer ( & Self :: ENCODING ) ;
95
95
}
96
96
97
- fn enumerate < ' a , ' b : ' a , C : INSFastEnumeration > (
97
+ fn enumerate < ' a , ' b : ' a , C : INSFastEnumeration + ? Sized > (
98
98
object : & ' b C ,
99
99
state : & mut NSFastEnumerationState < C :: Item > ,
100
100
buf : & ' a mut [ * const C :: Item ] ,
@@ -119,7 +119,7 @@ fn enumerate<'a, 'b: 'a, C: INSFastEnumeration>(
119
119
120
120
const FAST_ENUM_BUF_SIZE : usize = 16 ;
121
121
122
- pub struct NSFastEnumerator < ' a , C : ' a + INSFastEnumeration > {
122
+ pub struct NSFastEnumerator < ' a , C : ' a + INSFastEnumeration + ? Sized > {
123
123
object : & ' a C ,
124
124
125
125
ptr : * const * const C :: Item ,
@@ -129,7 +129,7 @@ pub struct NSFastEnumerator<'a, C: 'a + INSFastEnumeration> {
129
129
buf : [ * const C :: Item ; FAST_ENUM_BUF_SIZE ] ,
130
130
}
131
131
132
- impl < ' a , C : INSFastEnumeration > NSFastEnumerator < ' a , C > {
132
+ impl < ' a , C : INSFastEnumeration + ? Sized > NSFastEnumerator < ' a , C > {
133
133
fn new ( object : & ' a C ) -> Self {
134
134
Self {
135
135
object,
@@ -174,7 +174,7 @@ impl<'a, C: INSFastEnumeration> NSFastEnumerator<'a, C> {
174
174
}
175
175
}
176
176
177
- impl < ' a , C : INSFastEnumeration > Iterator for NSFastEnumerator < ' a , C > {
177
+ impl < ' a , C : INSFastEnumeration + ? Sized > Iterator for NSFastEnumerator < ' a , C > {
178
178
type Item = & ' a C :: Item ;
179
179
180
180
fn next ( & mut self ) -> Option < & ' a C :: Item > {
0 commit comments