Skip to content

Commit b01477d

Browse files
committed
fix: fixed no_std and no_alloc builds
1 parent 81ef80d commit b01477d

File tree

3 files changed

+9
-122
lines changed

3 files changed

+9
-122
lines changed

examples/minimal/src/main.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ use raw_struct::{
88
raw_struct,
99
Copy,
1010
FromMemoryView,
11-
MemoryView,
12-
MemoryViewDereferenceable,
1311
Reference,
1412
ViewableSized,
1513
};

raw_struct/src/reference.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
#[cfg(feature = "alloc")]
2+
use alloc::vec::Vec;
13
use core::{
24
self,
35
marker::PhantomData,
46
mem,
5-
slice,
67
};
78

89
use 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);

raw_struct/src/x.rs

Lines changed: 0 additions & 118 deletions
This file was deleted.

0 commit comments

Comments
 (0)