@@ -84,7 +84,7 @@ unsafe fn from_refs<A: INSArray>(refs: &[&A::Item]) -> Id<A, A::Ownership> {
8484
8585pub trait INSArray : INSObject {
8686 type Item : INSObject ;
87- type Own : Ownership ;
87+ type ItemOwnership : Ownership ;
8888
8989 fn count ( & self ) -> usize {
9090 unsafe { msg_send ! [ self , count] }
@@ -126,7 +126,7 @@ pub trait INSArray: INSObject {
126126 }
127127 }
128128
129- fn from_vec ( vec : Vec < Id < Self :: Item , Self :: Own > > ) -> Id < Self , Self :: Ownership > {
129+ fn from_vec ( vec : Vec < Id < Self :: Item , Self :: ItemOwnership > > ) -> Id < Self , Self :: Ownership > {
130130 unsafe { from_refs ( vec. as_slice_ref ( ) ) }
131131 }
132132
@@ -144,7 +144,7 @@ pub trait INSArray: INSObject {
144144 self . objects_in_range ( 0 ..self . count ( ) )
145145 }
146146
147- fn into_vec ( array : Id < Self , Owned > ) -> Vec < Id < Self :: Item , Self :: Own > > {
147+ fn into_vec ( array : Id < Self , Owned > ) -> Vec < Id < Self :: Item , Self :: ItemOwnership > > {
148148 array
149149 . to_vec ( )
150150 . into_iter ( )
@@ -154,7 +154,7 @@ pub trait INSArray: INSObject {
154154
155155 fn mut_object_at ( & mut self , index : usize ) -> & mut Self :: Item
156156 where
157- Self : INSArray < Own = Owned > ,
157+ Self : INSArray < ItemOwnership = Owned > ,
158158 {
159159 unsafe {
160160 let result: * mut Self :: Item = msg_send ! [ self , objectAtIndex: index] ;
@@ -164,22 +164,22 @@ pub trait INSArray: INSObject {
164164
165165 fn shared_object_at ( & self , index : usize ) -> Id < Self :: Item , Shared >
166166 where
167- Self : INSArray < Own = Shared > ,
167+ Self : INSArray < ItemOwnership = Shared > ,
168168 {
169169 let obj = self . object_at ( index) ;
170170 unsafe { Id :: retain ( obj. into ( ) ) }
171171 }
172172
173173 fn from_slice ( slice : & [ Id < Self :: Item , Shared > ] ) -> Id < Self , Self :: Ownership >
174174 where
175- Self : INSArray < Own = Shared > ,
175+ Self : INSArray < ItemOwnership = Shared > ,
176176 {
177177 unsafe { from_refs ( slice. as_slice_ref ( ) ) }
178178 }
179179
180180 fn to_shared_vec ( & self ) -> Vec < Id < Self :: Item , Shared > >
181181 where
182- Self : INSArray < Own = Shared > ,
182+ Self : INSArray < ItemOwnership = Shared > ,
183183 {
184184 self . to_vec ( )
185185 . into_iter ( )
@@ -188,7 +188,7 @@ pub trait INSArray: INSObject {
188188 }
189189}
190190
191- pub struct NSArray < T , O : Ownership = Owned > {
191+ pub struct NSArray < T , O : Ownership > {
192192 item : PhantomData < Id < T , O > > ,
193193}
194194
@@ -204,15 +204,15 @@ impl<T: INSObject, O: Ownership> INSObject for NSArray<T, O> {
204204
205205impl < T : INSObject , O : Ownership > INSArray for NSArray < T , O > {
206206 type Item = T ;
207- type Own = O ;
207+ type ItemOwnership = O ;
208208}
209209
210210impl < T : INSObject > INSCopying for NSArray < T , Shared > {
211- type Output = NSSharedArray < T > ;
211+ type Output = NSArray < T , Shared > ;
212212}
213213
214214impl < T : INSObject > INSMutableCopying for NSArray < T , Shared > {
215- type Output = NSMutableSharedArray < T > ;
215+ type Output = NSMutableArray < T , Shared > ;
216216}
217217
218218impl < T : INSObject , O : Ownership > INSFastEnumeration for NSArray < T , O > {
@@ -227,16 +227,14 @@ impl<T: INSObject, O: Ownership> Index<usize> for NSArray<T, O> {
227227 }
228228}
229229
230- pub type NSSharedArray < T > = NSArray < T , Shared > ;
231-
232230pub trait INSMutableArray : INSArray {
233- fn add_object ( & mut self , obj : Id < Self :: Item , Self :: Own > ) {
231+ fn add_object ( & mut self , obj : Id < Self :: Item , Self :: ItemOwnership > ) {
234232 unsafe {
235233 let _: ( ) = msg_send ! [ self , addObject: & * obj] ;
236234 }
237235 }
238236
239- fn insert_object_at ( & mut self , index : usize , obj : Id < Self :: Item , Self :: Own > ) {
237+ fn insert_object_at ( & mut self , index : usize , obj : Id < Self :: Item , Self :: ItemOwnership > ) {
240238 unsafe {
241239 let _: ( ) = msg_send ! [ self , insertObject: & * obj, atIndex: index] ;
242240 }
@@ -245,8 +243,8 @@ pub trait INSMutableArray: INSArray {
245243 fn replace_object_at (
246244 & mut self ,
247245 index : usize ,
248- obj : Id < Self :: Item , Self :: Own > ,
249- ) -> Id < Self :: Item , Self :: Own > {
246+ obj : Id < Self :: Item , Self :: ItemOwnership > ,
247+ ) -> Id < Self :: Item , Self :: ItemOwnership > {
250248 let old_obj = unsafe {
251249 let obj = self . object_at ( index) ;
252250 Id :: retain ( obj. into ( ) )
@@ -261,7 +259,7 @@ pub trait INSMutableArray: INSArray {
261259 old_obj
262260 }
263261
264- fn remove_object_at ( & mut self , index : usize ) -> Id < Self :: Item , Self :: Own > {
262+ fn remove_object_at ( & mut self , index : usize ) -> Id < Self :: Item , Self :: ItemOwnership > {
265263 let obj = unsafe {
266264 let obj = self . object_at ( index) ;
267265 Id :: retain ( obj. into ( ) )
@@ -272,7 +270,7 @@ pub trait INSMutableArray: INSArray {
272270 obj
273271 }
274272
275- fn remove_last_object ( & mut self ) -> Id < Self :: Item , Self :: Own > {
273+ fn remove_last_object ( & mut self ) -> Id < Self :: Item , Self :: ItemOwnership > {
276274 let obj = self
277275 . last_object ( )
278276 . map ( |obj| unsafe { Id :: retain ( obj. into ( ) ) } ) ;
@@ -321,7 +319,7 @@ pub trait INSMutableArray: INSArray {
321319 }
322320}
323321
324- pub struct NSMutableArray < T , O : Ownership = Owned > {
322+ pub struct NSMutableArray < T , O : Ownership > {
325323 item : PhantomData < Id < T , O > > ,
326324}
327325
@@ -337,17 +335,17 @@ impl<T: INSObject, O: Ownership> INSObject for NSMutableArray<T, O> {
337335
338336impl < T : INSObject , O : Ownership > INSArray for NSMutableArray < T , O > {
339337 type Item = T ;
340- type Own = O ;
338+ type ItemOwnership = O ;
341339}
342340
343341impl < T : INSObject , O : Ownership > INSMutableArray for NSMutableArray < T , O > { }
344342
345343impl < T : INSObject > INSCopying for NSMutableArray < T , Shared > {
346- type Output = NSSharedArray < T > ;
344+ type Output = NSArray < T , Shared > ;
347345}
348346
349347impl < T : INSObject > INSMutableCopying for NSMutableArray < T , Shared > {
350- type Output = NSMutableSharedArray < T > ;
348+ type Output = NSMutableArray < T , Shared > ;
351349}
352350
353351impl < T : INSObject , O : Ownership > INSFastEnumeration for NSMutableArray < T , O > {
@@ -362,8 +360,6 @@ impl<T: INSObject, O: Ownership> Index<usize> for NSMutableArray<T, O> {
362360 }
363361}
364362
365- pub type NSMutableSharedArray < T > = NSMutableArray < T , Shared > ;
366-
367363#[ cfg( test) ]
368364mod tests {
369365 use alloc:: vec;
0 commit comments