summaryrefslogtreecommitdiff
path: root/rust/src/basicblock.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src/basicblock.rs')
-rw-r--r--rust/src/basicblock.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/rust/src/basicblock.rs b/rust/src/basicblock.rs
index 0bd32af3..a1a2e244 100644
--- a/rust/src/basicblock.rs
+++ b/rust/src/basicblock.rs
@@ -65,16 +65,18 @@ pub struct EdgeContext<'a, C: 'a + BlockContext> {
orig_block: &'a BasicBlock<C>,
}
-unsafe impl<'a, C: 'a + BlockContext> CoreOwnedArrayProvider for Edge<'a, C> {
+impl<'a, C: 'a + BlockContext> CoreArrayProvider for Edge<'a, C> {
type Raw = BNBasicBlockEdge;
type Context = EdgeContext<'a, C>;
+}
+unsafe impl<'a, C: 'a + BlockContext> CoreOwnedArrayProvider for Edge<'a, C> {
unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) {
BNFreeBasicBlockEdgeList(raw, count);
}
}
-unsafe impl<'a, C: 'a + BlockContext> CoreOwnedArrayWrapper<'a> for Edge<'a, C> {
+unsafe impl<'a, C: 'a + BlockContext> CoreArrayWrapper<'a> for Edge<'a, C> {
type Wrapped = Edge<'a, C>;
unsafe fn wrap_raw(raw: &'a Self::Raw, context: &'a Self::Context) -> Edge<'a, C> {
@@ -296,16 +298,18 @@ unsafe impl<C: BlockContext> RefCountable for BasicBlock<C> {
}
}
-unsafe impl<C: BlockContext> CoreOwnedArrayProvider for BasicBlock<C> {
+impl<C: BlockContext> CoreArrayProvider for BasicBlock<C> {
type Raw = *mut BNBasicBlock;
type Context = C;
+}
+unsafe impl<C: BlockContext> CoreOwnedArrayProvider for BasicBlock<C> {
unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) {
BNFreeBasicBlockList(raw, count);
}
}
-unsafe impl<'a, C: 'a + BlockContext> CoreOwnedArrayWrapper<'a> for BasicBlock<C> {
+unsafe impl<'a, C: 'a + BlockContext> CoreArrayWrapper<'a> for BasicBlock<C> {
type Wrapped = Guard<'a, BasicBlock<C>>;
unsafe fn wrap_raw(raw: &'a Self::Raw, context: &'a Self::Context) -> Self::Wrapped {