diff options
| author | Fabian Freyer <fabian.freyer@physik.tu-berlin.de> | 2022-01-31 06:24:07 +0100 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2022-02-14 18:45:09 -0500 |
| commit | 181ad567199e5685578ecf7ad400257098c2e175 (patch) | |
| tree | 9e45c986cc8157dfe0fd6f5a8e80898d4a128309 /rust/src/section.rs | |
| parent | ae7ae4f63f931342e155d77bb4cf6d75289682bf (diff) | |
rust: add ArrayGuard and for non-owned arrays
To make use of shard functionality, we split the CoreOwnedArrayProvider
into CoreArrayProvider and CoreOwnedArrayProvider. Array makes use of
the CoreOwnedArrayProvider, which depends on CoreArrayProvider, while
the new ArrayGuard only requires CoreArrayProvider and represents
a non-owned array.
Diffstat (limited to 'rust/src/section.rs')
| -rw-r--r-- | rust/src/section.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rust/src/section.rs b/rust/src/section.rs index eb742e54..cfad97c0 100644 --- a/rust/src/section.rs +++ b/rust/src/section.rs @@ -168,16 +168,18 @@ unsafe impl RefCountable for Section { } } -unsafe impl CoreOwnedArrayProvider for Section { +impl CoreArrayProvider for Section { type Raw = *mut BNSection; type Context = (); +} +unsafe impl CoreOwnedArrayProvider for Section { unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) { BNFreeSectionList(raw, count); } } -unsafe impl<'a> CoreOwnedArrayWrapper<'a> for Section { +unsafe impl<'a> CoreArrayWrapper<'a> for Section { type Wrapped = Guard<'a, Section>; unsafe fn wrap_raw(raw: &'a Self::Raw, context: &'a Self::Context) -> Self::Wrapped { |
