diff options
| author | Rubens Brandao <git@rubens.io> | 2024-04-10 17:58:05 -0300 |
|---|---|---|
| committer | Rubens Brandao <git@rubens.io> | 2024-04-10 18:02:09 -0300 |
| commit | 37b51462dcf26dc40ac5d7e82acdfd4cbe754157 (patch) | |
| tree | 6a6bb04329059518761f6b5be5506d32a6b6c47c /rust/src/references.rs | |
| parent | 16fc31044f3b202200a6f03a538cda5f985bbecb (diff) | |
fix the array implementation using GAT
Diffstat (limited to 'rust/src/references.rs')
| -rw-r--r-- | rust/src/references.rs | 14 |
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 } } } |
