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/platform.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/platform.rs')
| -rw-r--r-- | rust/src/platform.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rust/src/platform.rs b/rust/src/platform.rs index b79b9611..9d7987c4 100644 --- a/rust/src/platform.rs +++ b/rust/src/platform.rs @@ -347,16 +347,18 @@ unsafe impl RefCountable for Platform { } } -unsafe impl CoreOwnedArrayProvider for Platform { +impl CoreArrayProvider for Platform { type Raw = *mut BNPlatform; type Context = (); +} +unsafe impl CoreOwnedArrayProvider for Platform { unsafe fn free(raw: *mut *mut BNPlatform, count: usize, _context: &()) { BNFreePlatformList(raw, count); } } -unsafe impl<'a> CoreOwnedArrayWrapper<'a> for Platform { +unsafe impl<'a> CoreArrayWrapper<'a> for Platform { type Wrapped = Guard<'a, Platform>; unsafe fn wrap_raw(raw: &'a *mut BNPlatform, context: &'a ()) -> Guard<'a, Platform> { |
