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/function.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/function.rs')
| -rw-r--r-- | rust/src/function.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rust/src/function.rs b/rust/src/function.rs index 51c9e634..865a22db 100644 --- a/rust/src/function.rs +++ b/rust/src/function.rs @@ -269,16 +269,18 @@ unsafe impl RefCountable for Function { } } -unsafe impl CoreOwnedArrayProvider for Function { +impl CoreArrayProvider for Function { type Raw = *mut BNFunction; type Context = (); +} +unsafe impl CoreOwnedArrayProvider for Function { unsafe fn free(raw: *mut *mut BNFunction, count: usize, _context: &()) { BNFreeFunctionList(raw, count); } } -unsafe impl<'a> CoreOwnedArrayWrapper<'a> for Function { +unsafe impl<'a> CoreArrayWrapper<'a> for Function { type Wrapped = Guard<'a, Function>; unsafe fn wrap_raw(raw: &'a *mut BNFunction, context: &'a ()) -> Guard<'a, Function> { |
