From 9ef0680c4e9d83c5c3c0945a51859a99bf17dd20 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Wed, 10 Apr 2019 14:07:57 +0200 Subject: ffi-macros: Fix the RefRaw trait. - Do not hardcode the lifetime in the trait. --- ffi-macros/src/lib.rs | 2 +- openpgp-ffi/src/common.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ffi-macros/src/lib.rs b/ffi-macros/src/lib.rs index 112577c6..a3ddcce3 100644 --- a/ffi-macros/src/lib.rs +++ b/ffi-macros/src/lib.rs @@ -413,7 +413,7 @@ fn derive_conversion_functions(mut st: syn::ItemStruct, } } - impl ::RefRaw<#wrapped> for *const #wrapper { + impl ::RefRaw<&'static #wrapped> for *const #wrapper { fn ref_raw(self) -> &'static #wrapped { if self.is_null() { panic!("FFI contract violation: Parameter is NULL"); diff --git a/openpgp-ffi/src/common.rs b/openpgp-ffi/src/common.rs index 8c1dd2ad..6efa9ec4 100644 --- a/openpgp-ffi/src/common.rs +++ b/openpgp-ffi/src/common.rs @@ -238,7 +238,7 @@ pub(crate) trait MoveFromRaw { /// Moves a reference to an object from C to Rust. pub(crate) trait RefRaw { /// Moves this reference to an object from C to Rust. - fn ref_raw(self) -> &'static T; + fn ref_raw(self) -> T; } /// Moves a mutable reference to an object from C to Rust. -- cgit v1.2.3