address PR feedback

This commit is contained in:
Chris Moradi
2021-11-15 10:09:45 -08:00
parent 868b680305
commit b0fd51f5de

View File

@@ -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())
);