FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Deprecate ::new_ref by youknowone · Pull Request #6046 · RustPython/RustPython · GitHub

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension .rs  (15) All 1 file type selected
Viewed files
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Unified
Split
Hide whitespace
Diff view
Unified
Split
Hide whitespace
3 changes: 2 additions & 1 deletion vm/src/builtins/bytearray.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,9 @@ pub(crate) fn init(context: &Context) {
}

impl PyByteArray {
#[deprecated(note = "use PyByteArray::from(...).into_ref() instead")]
pub fn new_ref(data: Vec<u8>, ctx: &Context) -> PyRef<Self> {
PyRef::new_ref(Self::from(data), ctx.types.bytearray_type.to_owned(), None)
Self::from(data).into_ref(ctx)
}

const fn from_inner(inner: PyBytesInner) -> Self {
Expand Down
3 changes: 2 additions & 1 deletion vm/src/builtins/bytes.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,9 @@ impl Constructor for PyBytes {
}

impl PyBytes {
#[deprecated(note = "use PyBytes::from(...).into_ref() instead")]
pub fn new_ref(data: Vec<u8>, ctx: &Context) -> PyRef<Self> {
PyRef::new_ref(Self::from(data), ctx.types.bytes_type.to_owned(), None)
Self::from(data).into_ref(ctx)
}

fn _getitem(&self, needle: &PyObject, vm: &VirtualMachine) -> PyResult {
Expand Down
9 changes: 2 additions & 7 deletions vm/src/builtins/classmethod.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -111,14 +111,9 @@ impl Initializer for PyClassMethod {
}

impl PyClassMethod {
#[deprecated(note = "use PyClassMethod::from(...).into_ref() instead")]
pub fn new_ref(callable: PyObjectRef, ctx: &Context) -> PyRef<Self> {
PyRef::new_ref(
Self {
callable: PyMutex::new(callable),
},
ctx.types.classmethod_type.to_owned(),
None,
)
Self::from(callable).into_ref(ctx)
}
}

Expand Down
39 changes: 18 additions & 21 deletions vm/src/builtins/complex.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,6 @@ pub struct PyComplex {
value: Complex64,
}

impl PyComplex {
pub const fn to_complex64(self) -> Complex64 {
self.value
}
}

impl PyPayload for PyComplex {
#[inline]
fn class(ctx: &Context) -> &'static Py<PyType> {
Expand Down Expand Up @@ -234,13 +228,30 @@ impl Constructor for PyComplex {
}

impl PyComplex {
#[deprecated(note = "use PyComplex::from(...).into_ref() instead")]
pub fn new_ref(value: Complex64, ctx: &Context) -> PyRef<Self> {
PyRef::new_ref(Self::from(value), ctx.types.complex_type.to_owned(), None)
Self::from(value).into_ref(ctx)
}

pub const fn to_complex64(self) -> Complex64 {
self.value
}

pub const fn to_complex(&self) -> Complex64 {
self.value
}

fn number_op<F, R>(a: &PyObject, b: &PyObject, op: F, vm: &VirtualMachine) -> PyResult
where
F: FnOnce(Complex64, Complex64, &VirtualMachine) -> R,
R: ToPyResult,
{
if let (Some(a), Some(b)) = (to_op_complex(a, vm)?, to_op_complex(b, vm)?) {
op(a, b, vm).to_pyresult(vm)
} else {
Ok(vm.ctx.not_implemented())
}
}
}

#[pyclass(
Expand Down Expand Up @@ -503,20 +514,6 @@ impl Representable for PyComplex {
}
}

impl PyComplex {
fn number_op<F, R>(a: &PyObject, b: &PyObject, op: F, vm: &VirtualMachine) -> PyResult
where
F: FnOnce(Complex64, Complex64, &VirtualMachine) -> R,
R: ToPyResult,
{
if let (Some(a), Some(b)) = (to_op_complex(a, vm)?, to_op_complex(b, vm)?) {
op(a, b, vm).to_pyresult(vm)
} else {
Ok(vm.ctx.not_implemented())
}
}
}

#[derive(FromArgs)]
pub struct ComplexArgs {
#[pyarg(any, optional)]
Expand Down
3 changes: 2 additions & 1 deletion vm/src/builtins/dict.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,9 @@ impl PyPayload for PyDict {
}

impl PyDict {
#[deprecated(note = "use PyDict::default().into_ref() instead")]
pub fn new_ref(ctx: &Context) -> PyRef<Self> {
PyRef::new_ref(Self::default(), ctx.types.dict_type.to_owned(), None)
Self::default().into_ref(ctx)
}

/// escape hatch to access the underlying data structure directly. prefer adding a method on
Expand Down
7 changes: 2 additions & 5 deletions vm/src/builtins/function.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -773,12 +773,9 @@ impl PyBoundMethod {
Self { object, function }
}

#[deprecated(note = "Use `Self::new(object, function).into_ref(ctx)` instead")]
pub fn new_ref(object: PyObjectRef, function: PyObjectRef, ctx: &Context) -> PyRef<Self> {
PyRef::new_ref(
Self::new(object, function),
ctx.types.bound_method_type.to_owned(),
None,
)
Self::new(object, function).into_ref(ctx)
}
}

Expand Down
3 changes: 2 additions & 1 deletion vm/src/builtins/list.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,9 @@ impl ToPyObject for Vec<PyObjectRef> {
}

impl PyList {
#[deprecated(note = "use PyList::from(...).into_ref() instead")]
pub fn new_ref(elements: Vec<PyObjectRef>, ctx: &Context) -> PyRef<Self> {
PyRef::new_ref(Self::from(elements), ctx.types.list_type.to_owned(), None)
Self::from(elements).into_ref(ctx)
}

pub fn borrow_vec(&self) -> PyMappedRwLockReadGuard<'_, [PyObjectRef]> {
Expand Down
10 changes: 0 additions & 10 deletions vm/src/builtins/namespace.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,6 @@ impl PyPayload for PyNamespace {

impl DefaultConstructor for PyNamespace {}

impl PyNamespace {
pub fn new_ref(ctx: &Context) -> PyRef<Self> {
PyRef::new_ref(
Self {},
ctx.types.namespace_type.to_owned(),
Some(ctx.new_dict()),
)
}
}

#[pyclass(
flags(BASETYPE, HAS_DICT),
with(Constructor, Initializer, Comparable, Representable)
Expand Down
5 changes: 2 additions & 3 deletions vm/src/builtins/set.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,9 @@ pub struct PySet {
}

impl PySet {
#[deprecated(note = "Use `PySet::default().into_ref(ctx)` instead")]
pub fn new_ref(ctx: &Context) -> PyRef<Self> {
// Initialized empty, as calling __hash__ is required for adding each object to the set
// which requires a VM context - this is done in the set code itself.
PyRef::new_ref(Self::default(), ctx.types.set_type.to_owned(), None)
Self::default().into_ref(ctx)
}

pub fn elements(&self) -> Vec<PyObjectRef> {
Expand Down
14 changes: 7 additions & 7 deletions vm/src/builtins/staticmethod.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,14 @@ impl Constructor for PyStaticMethod {
}

impl PyStaticMethod {
pub fn new(callable: PyObjectRef) -> Self {
Self {
callable: PyMutex::new(callable),
}
}
#[deprecated(note = "use PyStaticMethod::new(...).into_ref() instead")]
pub fn new_ref(callable: PyObjectRef, ctx: &Context) -> PyRef<Self> {
PyRef::new_ref(
Self {
callable: PyMutex::new(callable),
},
ctx.types.staticmethod_type.to_owned(),
None,
)
Self::new(callable).into_ref(ctx)
}
}

Expand Down
3 changes: 2 additions & 1 deletion vm/src/builtins/str.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -418,9 +418,10 @@ impl PyStr {
unsafe { AsciiString::from_ascii_unchecked(bytes) }.into()
}

#[deprecated(note = "use PyStr::from(...).into_ref() instead")]
pub fn new_ref(zelf: impl Into<Self>, ctx: &Context) -> PyRef<Self> {
let zelf = zelf.into();
PyRef::new_ref(zelf, ctx.types.str_type.to_owned(), None)
zelf.into_ref(ctx)
}

fn new_substr(&self, s: Wtf8Buf) -> Self {
Expand Down
1 change: 1 addition & 0 deletions vm/src/builtins/tuple.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ impl<R> PyTuple<R> {
}

impl PyTuple<PyObjectRef> {
// Do not deprecate this. empty_tuple must be checked.
pub fn new_ref(elements: Vec<PyObjectRef>, ctx: &Context) -> PyRef<Self> {
if elements.is_empty() {
ctx.empty_tuple.clone()
Expand Down
4 changes: 2 additions & 2 deletions vm/src/frame.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -756,15 +756,15 @@ impl ExecutingFrame<'_> {
Ok(None)
}
bytecode::Instruction::BuildSet { size } => {
let set = PySet::new_ref(&vm.ctx);
let set = PySet::default().into_ref(&vm.ctx);
for element in self.pop_multiple(size.get(arg) as usize) {
set.add(element, vm)?;
}
self.push_value(set.into());
Ok(None)
}
bytecode::Instruction::BuildSetFromTuples { size } => {
let set = PySet::new_ref(&vm.ctx);
let set = PySet::default().into_ref(&vm.ctx);
for element in self.pop_multiple(size.get(arg) as usize) {
// SAFETY: trust compiler
let tup = unsafe { element.downcast_unchecked::<PyTuple>() };
Expand Down
2 changes: 1 addition & 1 deletion vm/src/macros.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ macro_rules! extend_class {
macro_rules! py_namespace {
( $vm:expr, { $($name:expr => $value:expr),* $(,)* }) => {
{
let namespace = $crate::builtins::PyNamespace::new_ref(&$vm.ctx);
let namespace = $crate::object::PyPayload::into_ref($crate::builtins::PyNamespace {}, &$vm.ctx);
let obj = $crate::object::AsObject::as_object(&namespace);
$(
obj.generic_setattr($vm.ctx.intern_str($name), $crate::function::PySetterValue::Assign($value.into()), $vm).unwrap();
Expand Down
4 changes: 2 additions & 2 deletions vm/src/stdlib/marshal.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ mod decl {
common::wtf8::Wtf8,
convert::ToPyObject,
function::{ArgBytesLike, OptionalArg},
object::AsObject,
object::{AsObject, PyPayload},
protocol::PyBuffer,
};
use malachite_bigint::BigInt;
Expand Down Expand Up @@ -186,7 +186,7 @@ mod decl {
it: impl Iterator<Item = Self::Value>,
) -> Result<Self::Value, marshal::MarshalError> {
let vm = self.0;
let set = PySet::new_ref(&vm.ctx);
let set = PySet::default().into_ref(&vm.ctx);
for elem in it {
set.add(elem, vm).unwrap()
}
Expand Down
Loading

Back | FazBrowse Home | New Git URL