summaryrefslogtreecommitdiff
path: root/rust/src/references.rs
diff options
context:
space:
mode:
authorRubens Brandao <git@rubens.io>2024-04-10 17:58:05 -0300
committerRubens Brandao <git@rubens.io>2024-04-10 18:02:09 -0300
commit37b51462dcf26dc40ac5d7e82acdfd4cbe754157 (patch)
tree6a6bb04329059518761f6b5be5506d32a6b6c47c /rust/src/references.rs
parent16fc31044f3b202200a6f03a538cda5f985bbecb (diff)
fix the array implementation using GAT
Diffstat (limited to 'rust/src/references.rs')
-rw-r--r--rust/src/references.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/rust/src/references.rs b/rust/src/references.rs
index 76ac4493..a30f3f5e 100644
--- a/rust/src/references.rs
+++ b/rust/src/references.rs
@@ -64,10 +64,12 @@ unsafe impl CoreOwnedArrayProvider for CodeReference {
}
}
-unsafe impl<'a> CoreArrayWrapper<'a> for CodeReference {
- type Wrapped = CodeReference;
+unsafe impl CoreArrayWrapper for CodeReference {
+ // TODO there is nothing blocking the returned value from out-living the
+ // array, change it to Guard?
+ type Wrapped<'a> = CodeReference;
- unsafe fn wrap_raw(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped {
+ unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
CodeReference::new(raw)
}
}
@@ -85,10 +87,10 @@ unsafe impl CoreOwnedArrayProvider for DataReference {
}
}
-unsafe impl<'a> CoreArrayWrapper<'a> for DataReference {
- type Wrapped = DataReference;
+unsafe impl CoreArrayWrapper for DataReference {
+ type Wrapped<'a> = DataReference;
- unsafe fn wrap_raw(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped {
+ unsafe fn wrap_raw<'a>(raw: &'a Self::Raw, _context: &'a Self::Context) -> Self::Wrapped<'a> {
DataReference { address: *raw }
}
}