From b1fb8c028efde41aeba7206b35ade00c4e0c7c7f Mon Sep 17 00:00:00 2001 From: "Carson M." Date: Tue, 1 Oct 2024 11:34:22 -0500 Subject: [PATCH] fix: return owned `Value`s from `extract_sequence` --- src/value/impl_sequence.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/value/impl_sequence.rs b/src/value/impl_sequence.rs index c3ec653e..f711bf3e 100644 --- a/src/value/impl_sequence.rs +++ b/src/value/impl_sequence.rs @@ -51,10 +51,10 @@ pub type SequenceRef<'v, T> = ValueRef<'v, SequenceValueType>; pub type SequenceRefMut<'v, T> = ValueRefMut<'v, SequenceValueType>; impl Value { - pub fn try_extract_sequence<'s, OtherType: ValueTypeMarker + DowncastableTarget + Debug + Sized>( - &'s self, + pub fn try_extract_sequence( + &self, allocator: &Allocator - ) -> Result>> { + ) -> Result>> { match self.dtype() { ValueType::Sequence(_) => { let mut len: ort_sys::size_t = 0; @@ -65,7 +65,7 @@ impl Value { let mut value_ptr = ptr::null_mut(); ortsys![unsafe GetValue(self.ptr(), i as _, allocator.ptr.as_ptr(), &mut value_ptr)?; nonNull(value_ptr)]; - let value = ValueRef::new(unsafe { Value::from_ptr(NonNull::new_unchecked(value_ptr), None) }); + let value = unsafe { Value::from_ptr(NonNull::new_unchecked(value_ptr), None) }; let value_type = value.dtype(); if !OtherType::can_downcast(&value.dtype()) { return Err(Error::new_with_code( @@ -122,7 +122,7 @@ impl Value Value> { - pub fn extract_sequence<'s>(&'s self, allocator: &Allocator) -> Vec> { + pub fn extract_sequence(&self, allocator: &Allocator) -> Vec> { self.try_extract_sequence(allocator).expect("Failed to extract sequence") }