@@ -2,7 +2,7 @@ use std::cmp::Ordering;
22use std:: marker:: PhantomData ;
33use std:: ops:: { Index , Range } ;
44
5- use objc:: { Id , IdSlice , Owned , Ownership , Shared , ShareId } ;
5+ use objc:: { Id , Owned , Ownership , Shared , ShareId } ;
66use objc:: runtime:: { Class , Object } ;
77
88use { INSCopying , INSFastEnumeration , INSMutableCopying , INSObject , NSEnumerator } ;
@@ -98,9 +98,9 @@ pub trait INSArray : INSObject {
9898 }
9999
100100 fn from_vec ( vec : Vec < Id < Self :: Item , Self :: Own > > ) -> Id < Self > {
101- let refs = vec. as_refs_slice ( ) ;
101+ let refs: Vec < & Self :: Item > = vec. iter ( ) . map ( |obj| & * * obj ) . collect ( ) ;
102102 unsafe {
103- INSArray :: from_refs ( refs)
103+ INSArray :: from_refs ( & refs)
104104 }
105105 }
106106
@@ -143,9 +143,9 @@ pub trait INSSharedArray : INSArray<Own=Shared> {
143143 }
144144
145145 fn from_slice ( slice : & [ ShareId < Self :: Item > ] ) -> Id < Self > {
146- let refs = slice. as_refs_slice ( ) ;
146+ let refs: Vec < & Self :: Item > = slice. iter ( ) . map ( |obj| & * * obj ) . collect ( ) ;
147147 unsafe {
148- INSArray :: from_refs ( refs)
148+ INSArray :: from_refs ( & refs)
149149 }
150150 }
151151
0 commit comments