mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-09 22:49:57 +09:00
address PR feedback
This commit is contained in:
@@ -5,7 +5,6 @@ use crate::{
|
||||
PyArithmeticValue, PyAttributes, PyClassImpl, PyComparisonValue, PyContext, PyGenericObject,
|
||||
PyObject, PyObjectRef, PyResult, PyValue, TypeProtocol, VirtualMachine,
|
||||
};
|
||||
use num_bigint::BigInt;
|
||||
|
||||
/// object()
|
||||
/// --
|
||||
@@ -38,10 +37,8 @@ impl PyBaseObject {
|
||||
|
||||
// Ensure that all abstract methods are implemented before instantiating instance.
|
||||
if let Some(abs_methods) = cls.get_attr("__abstractmethods__") {
|
||||
if let Some(iter) = vm.get_method(abs_methods, "__len__") {
|
||||
let values = vm.invoke(&iter?, ())?;
|
||||
let unimplemented_abstract_method_count = super::int::get_value(&values);
|
||||
if unimplemented_abstract_method_count > &BigInt::from(0) {
|
||||
if let Some(unimplemented_abstract_method_count) = vm.obj_len_opt(&abs_methods) {
|
||||
if unimplemented_abstract_method_count? > 0 {
|
||||
return Err(
|
||||
vm.new_type_error("You must implement the abstract methods".to_owned())
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user