From 661a323766bb7a43fd9062ae2a09e8489365eb82 Mon Sep 17 00:00:00 2001 From: matejcik Date: Wed, 18 Feb 2026 14:18:07 +0100 Subject: [PATCH] fix: fix lifetime annotation on DynRef which allows creating a DynRef via dynptr! from non-static values --- stabby-abi/src/fatptr.rs | 2 +- stabby/src/tests/traits.rs | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/stabby-abi/src/fatptr.rs b/stabby-abi/src/fatptr.rs index e055eb3..c6f1999 100644 --- a/stabby-abi/src/fatptr.rs +++ b/stabby-abi/src/fatptr.rs @@ -435,7 +435,7 @@ impl Drop for Dyn<'_, P, Vt> { } } -impl<'a, T, Vt: Copy + IConstConstructor<'a, T>> From<&'a T> for DynRef<'a, Vt> { +impl<'a, T, Vt: Copy + IConstConstructor<'static, T>> From<&'a T> for DynRef<'a, Vt> { fn from(value: &'a T) -> Self { DynRef { ptr: value.into(), diff --git a/stabby/src/tests/traits.rs b/stabby/src/tests/traits.rs index 62e962a..fd94fe3 100644 --- a/stabby/src/tests/traits.rs +++ b/stabby/src/tests/traits.rs @@ -149,6 +149,13 @@ fn dyn_traits() { trait_assertions(dyned); } +#[test] +fn dyn_ref_traits() { + let value = 6u8; + let dyn_ref = ::from(&value); + assert_eq!(dyn_ref.do_stuff2(), 6); +} + #[test] fn arc_traits() { use stabby::sync::Arc;