Skip to content

Commit b1fb8c0

Browse files
committed
fix: return owned Values from extract_sequence
1 parent 1f6f436 commit b1fb8c0

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/value/impl_sequence.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ pub type SequenceRef<'v, T> = ValueRef<'v, SequenceValueType<T>>;
5151
pub type SequenceRefMut<'v, T> = ValueRefMut<'v, SequenceValueType<T>>;
5252

5353
impl<Type: SequenceValueTypeMarker + Sized> Value<Type> {
54-
pub fn try_extract_sequence<'s, OtherType: ValueTypeMarker + DowncastableTarget + Debug + Sized>(
55-
&'s self,
54+
pub fn try_extract_sequence<OtherType: ValueTypeMarker + DowncastableTarget + Debug + Sized>(
55+
&self,
5656
allocator: &Allocator
57-
) -> Result<Vec<ValueRef<'s, OtherType>>> {
57+
) -> Result<Vec<Value<OtherType>>> {
5858
match self.dtype() {
5959
ValueType::Sequence(_) => {
6060
let mut len: ort_sys::size_t = 0;
@@ -65,7 +65,7 @@ impl<Type: SequenceValueTypeMarker + Sized> Value<Type> {
6565
let mut value_ptr = ptr::null_mut();
6666
ortsys![unsafe GetValue(self.ptr(), i as _, allocator.ptr.as_ptr(), &mut value_ptr)?; nonNull(value_ptr)];
6767

68-
let value = ValueRef::new(unsafe { Value::from_ptr(NonNull::new_unchecked(value_ptr), None) });
68+
let value = unsafe { Value::from_ptr(NonNull::new_unchecked(value_ptr), None) };
6969
let value_type = value.dtype();
7070
if !OtherType::can_downcast(&value.dtype()) {
7171
return Err(Error::new_with_code(
@@ -122,7 +122,7 @@ impl<T: ValueTypeMarker + DowncastableTarget + Debug + Sized + 'static> Value<Se
122122
}
123123

124124
impl<T: ValueTypeMarker + DowncastableTarget + Debug + Sized> Value<SequenceValueType<T>> {
125-
pub fn extract_sequence<'s>(&'s self, allocator: &Allocator) -> Vec<ValueRef<'s, T>> {
125+
pub fn extract_sequence(&self, allocator: &Allocator) -> Vec<Value<T>> {
126126
self.try_extract_sequence(allocator).expect("Failed to extract sequence")
127127
}
128128

0 commit comments

Comments
 (0)