diff --git a/derive/src/pystructseq.rs b/derive/src/pystructseq.rs index 236f10efd..0da5fa383 100644 --- a/derive/src/pystructseq.rs +++ b/derive/src/pystructseq.rs @@ -36,7 +36,7 @@ pub(crate) fn impl_pystruct_sequence( self.#field_names, vm, )),*]; - ::rustpython_vm::builtins::tuple::PyTuple::_new(items.into_boxed_slice()) + ::rustpython_vm::builtins::tuple::PyTuple::new_unchecked(items.into_boxed_slice()) } } impl ::rustpython_vm::IntoPyObject for #ty { diff --git a/vm/src/builtins/pytype.rs b/vm/src/builtins/pytype.rs index 6d494ca5d..71a27a327 100644 --- a/vm/src/builtins/pytype.rs +++ b/vm/src/builtins/pytype.rs @@ -302,7 +302,7 @@ impl PyType { #[pyproperty(name = "__mro__")] fn get_mro(zelf: PyRef) -> PyTuple { let elements: Vec = zelf.iter_mro().map(|x| x.as_object().clone()).collect(); - PyTuple::_new(elements.into_boxed_slice()) + PyTuple::new_unchecked(elements.into_boxed_slice()) } #[pyproperty(magic)] diff --git a/vm/src/builtins/tuple.rs b/vm/src/builtins/tuple.rs index c10f30420..65666cbf2 100644 --- a/vm/src/builtins/tuple.rs +++ b/vm/src/builtins/tuple.rs @@ -115,7 +115,7 @@ impl PyTuple { /// Creating a new tuple with given boxed slice. /// NOTE: for usual case, you probably want to use PyTupleRef::with_elements. /// Calling this function implies trying micro optimization for non-zero-sized tuple. - pub(crate) fn _new(elements: Box<[PyObjectRef]>) -> Self { + pub fn new_unchecked(elements: Box<[PyObjectRef]>) -> Self { Self { elements } } diff --git a/vm/src/pyobject.rs b/vm/src/pyobject.rs index fe2ef7397..0eabfe0d7 100644 --- a/vm/src/pyobject.rs +++ b/vm/src/pyobject.rs @@ -106,7 +106,7 @@ impl PyContext { let false_value = create_object(PyInt::from(0), &types.bool_type); let empty_tuple = create_object( - PyTuple::_new(Vec::new().into_boxed_slice()), + PyTuple::new_unchecked(Vec::new().into_boxed_slice()), &types.tuple_type, ); let empty_frozenset =