structs that contain pointers work!

This commit is contained in:
Pat Hickey
2020-01-28 18:17:48 -08:00
parent 35d9373976
commit 814dd19488
5 changed files with 162 additions and 1 deletions

View File

@@ -170,6 +170,14 @@ impl<'a, T: GuestType> GuestPtrMut<'a, T> {
pub fn as_raw(&self) -> *const u8 {
self.as_immut().as_raw()
}
pub fn elem(&self, elements: i32) -> Result<GuestPtrMut<'a, T>, GuestError> {
self.mem
.ptr_mut(self.region.start + (elements * self.region.len as i32) as u32)
}
pub fn cast<TT: GuestType>(&self, offset: u32) -> Result<GuestPtrMut<'a, TT>, GuestError> {
self.mem.ptr_mut(self.region.start + offset)
}
}
impl<'a, T: GuestTypeCopy> GuestPtrMut<'a, T> {