1+ #[ cfg( feature = "alloc" ) ]
2+ use alloc:: vec:: Vec ;
13use core:: {
24 self ,
35 marker:: PhantomData ,
46 mem,
5- slice,
67} ;
78
89use crate :: {
@@ -154,14 +155,18 @@ impl<T: CopyConstructable, M: MemoryView, const N: usize> Reference<[T; N], M> {
154155 . map_err ( |err| err. into_access_error ( ) )
155156 }
156157
158+ #[ cfg( feature = "alloc" ) ]
157159 pub fn read_elements ( & self ) -> Result < Vec < T > , M :: AccessError > {
158160 let mut buffer = Vec :: new ( ) ;
159161 unsafe {
160162 buffer. reserve_exact ( N ) ;
161163
162164 self . memory . read_memory (
163165 self . memory_offset ,
164- slice:: from_raw_parts_mut ( buffer. as_mut_ptr ( ) as * mut u8 , N * mem:: size_of :: < T > ( ) ) ,
166+ core:: slice:: from_raw_parts_mut (
167+ buffer. as_mut_ptr ( ) as * mut u8 ,
168+ N * mem:: size_of :: < T > ( ) ,
169+ ) ,
165170 ) ?;
166171
167172 buffer. set_len ( N ) ;
@@ -177,6 +182,7 @@ impl<T: ViewableSized, M: MemoryView, const N: usize> Reference<[T; N], M> {
177182 Reference :: new ( & self . memory , self . memory_offset + element_offset)
178183 }
179184
185+ #[ cfg( feature = "alloc" ) ]
180186 pub fn reference_elements ( & self ) -> Vec < Reference < T , & M > > {
181187 let mut buffer = Vec :: new ( ) ;
182188 buffer. reserve_exact ( N ) ;
@@ -193,6 +199,7 @@ impl<T: ViewableSized, M: MemoryView, const N: usize> Reference<[T; N], M> {
193199 Copy :: < T > :: read_from_memory ( & self . memory , self . memory_offset + element_offset)
194200 }
195201
202+ #[ cfg( feature = "alloc" ) ]
196203 pub fn copy_elements ( & self ) -> Result < Vec < Copy < T > > , M :: AccessError > {
197204 let mut buffer = Vec :: new ( ) ;
198205 buffer. reserve_exact ( N ) ;
0 commit comments