Remove PyObject::new from objgenerator.

This commit is contained in:
Adam Kelly committed 2019-03-19 16:28:53 +00:00
1 parent aeaa94966f
commit d38e89a811
2 files changed
+5 -7

No files matched your search

+4 -6
View File
@@ -4,13 +4,14 @@
use crate::frame::{ExecutionResult, Frame};
use crate::function::PyFuncArgs;
use crate::pyobject::{PyContext, PyObject, PyObjectRef, PyResult, PyValue, TypeProtocol};
use crate::pyobject::{PyContext, PyObjectRef, PyRef, PyResult, PyValue, TypeProtocol};
use crate::vm::VirtualMachine;
#[derive(Debug)]
pub struct PyGenerator {
frame: PyObjectRef,
}
type PyGeneratorRef = PyRef<PyGenerator>;
impl PyValue for PyGenerator {
fn class(vm: &mut VirtualMachine) -> PyObjectRef {
@@ -37,11 +38,8 @@ pub fn init(context: &PyContext) {
);
}
pub fn new_generator(vm: &mut VirtualMachine, frame: PyObjectRef) -> PyResult {
Ok(PyObject::new(
PyGenerator { frame },
vm.ctx.generator_type.clone(),
))
pub fn new_generator(frame: PyObjectRef, vm: &mut VirtualMachine) -> PyGeneratorRef {
PyGenerator { frame }.into_ref(vm)
}
fn generator_iter(vm: &mut VirtualMachine, args: PyFuncArgs) -> PyResult {
+1 -1
View File
@@ -353,7 +353,7 @@ impl VirtualMachine {
// If we have a generator, create a new generator
if code_object.is_generator {
objgenerator::new_generator(self, frame)
Ok(objgenerator::new_generator(frame, self).into_object())
} else {
self.run_frame_full(frame)
}