summaryrefslogtreecommitdiff
path: root/rust/src/types.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src/types.rs')
-rw-r--r--rust/src/types.rs48
1 files changed, 12 insertions, 36 deletions
diff --git a/rust/src/types.rs b/rust/src/types.rs
index 2b300444..750ca46c 100644
--- a/rust/src/types.rs
+++ b/rust/src/types.rs
@@ -1439,17 +1439,13 @@ impl NamedTypedVariable {
impl CoreArrayProvider for NamedTypedVariable {
type Raw = BNVariableNameAndType;
type Context = ();
+ type Wrapped<'a> = ManuallyDrop<NamedTypedVariable>;
}
-unsafe impl CoreOwnedArrayProvider for NamedTypedVariable {
+unsafe impl CoreArrayProviderInner for NamedTypedVariable {
unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) {
BNFreeVariableNameAndTypeList(raw, count)
}
-}
-
-unsafe impl CoreArrayWrapper for NamedTypedVariable {
- type Wrapped<'a> = ManuallyDrop<NamedTypedVariable>;
-
unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
ManuallyDrop::new(NamedTypedVariable {
var: raw.var,
@@ -2406,16 +2402,12 @@ impl Drop for QualifiedName {
impl CoreArrayProvider for QualifiedName {
type Raw = BNQualifiedName;
type Context = ();
+ type Wrapped<'a> = &'a QualifiedName;
}
-unsafe impl CoreOwnedArrayProvider for QualifiedName {
+unsafe impl CoreArrayProviderInner for QualifiedName {
unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) {
BNFreeTypeNameList(raw, count);
}
-}
-
-unsafe impl CoreArrayWrapper for QualifiedName {
- type Wrapped<'a> = &'a QualifiedName;
-
unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
mem::transmute(raw)
}
@@ -2448,16 +2440,12 @@ impl Drop for QualifiedNameAndType {
impl CoreArrayProvider for QualifiedNameAndType {
type Raw = BNQualifiedNameAndType;
type Context = ();
+ type Wrapped<'a> = &'a QualifiedNameAndType;
}
-unsafe impl CoreOwnedArrayProvider for QualifiedNameAndType {
+unsafe impl CoreArrayProviderInner for QualifiedNameAndType {
unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) {
BNFreeTypeAndNameList(raw, count);
}
-}
-
-unsafe impl CoreArrayWrapper for QualifiedNameAndType {
- type Wrapped<'a> = &'a QualifiedNameAndType;
-
unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
mem::transmute(raw)
}
@@ -2494,16 +2482,12 @@ impl Drop for QualifiedNameTypeAndId {
impl CoreArrayProvider for QualifiedNameTypeAndId {
type Raw = BNQualifiedNameTypeAndId;
type Context = ();
+ type Wrapped<'a> = &'a QualifiedNameTypeAndId;
}
-unsafe impl CoreOwnedArrayProvider for QualifiedNameTypeAndId {
+unsafe impl CoreArrayProviderInner for QualifiedNameTypeAndId {
unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) {
BNFreeTypeIdList(raw, count);
}
-}
-
-unsafe impl CoreArrayWrapper for QualifiedNameTypeAndId {
- type Wrapped<'a> = &'a QualifiedNameTypeAndId;
-
unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
mem::transmute(raw)
}
@@ -2573,17 +2557,13 @@ unsafe impl RefCountable for NameAndType {
impl CoreArrayProvider for NameAndType {
type Raw = BNNameAndType;
type Context = ();
+ type Wrapped<'a> = Guard<'a, NameAndType>;
}
-unsafe impl CoreOwnedArrayProvider for NameAndType {
+unsafe impl CoreArrayProviderInner for NameAndType {
unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) {
BNFreeNameAndTypeList(raw, count);
}
-}
-
-unsafe impl CoreArrayWrapper for NameAndType {
- type Wrapped<'a> = Guard<'a, NameAndType>;
-
unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
unsafe { Guard::new(NameAndType::from_raw(raw), raw) }
}
@@ -2653,16 +2633,12 @@ unsafe impl RefCountable for DataVariable {
impl CoreArrayProvider for DataVariable {
type Raw = BNDataVariable;
type Context = ();
+ type Wrapped<'a> = &'a DataVariable;
}
-unsafe impl CoreOwnedArrayProvider for DataVariable {
+unsafe impl CoreArrayProviderInner for DataVariable {
unsafe fn free(raw: *mut Self::Raw, count: usize, _context: &Self::Context) {
BNFreeDataVariables(raw, count);
}
-}
-
-unsafe impl CoreArrayWrapper for DataVariable {
- type Wrapped<'a> = &'a DataVariable;
-
unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
mem::transmute(raw)
}