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/backgroundtask.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/backgroundtask.rs')
| -rw-r--r-- | rust/src/backgroundtask.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rust/src/backgroundtask.rs b/rust/src/backgroundtask.rs index 26480e7e..451ecd07 100644 --- a/rust/src/backgroundtask.rs +++ b/rust/src/backgroundtask.rs @@ -99,16 +99,18 @@ unsafe impl RefCountable for BackgroundTask { } } -unsafe impl CoreOwnedArrayProvider for BackgroundTask { +impl CoreArrayProvider for BackgroundTask { type Raw = *mut BNBackgroundTask; type Context = (); +} +unsafe impl CoreOwnedArrayProvider for BackgroundTask { unsafe fn free(raw: *mut *mut BNBackgroundTask, count: usize, _context: &()) { BNFreeBackgroundTaskList(raw, count); } } -unsafe impl<'a> CoreOwnedArrayWrapper<'a> for BackgroundTask { +unsafe impl<'a> CoreArrayWrapper<'a> for BackgroundTask { type Wrapped = Guard<'a, BackgroundTask>; unsafe fn wrap_raw( |
