1- use super :: objbool;
21use super :: objdict;
32use super :: objstr;
43use super :: objtype; // Required for arg_check! to use isinstance
@@ -9,7 +8,6 @@ use crate::pyobject::{
98use crate :: vm:: VirtualMachine ;
109use std:: cell:: RefCell ;
1110use std:: collections:: HashMap ;
12- use std:: rc:: Rc ;
1311
1412/*
1513 * The magical type type
@@ -108,23 +106,6 @@ pub fn isinstance(obj: &PyObjectRef, cls: &PyObjectRef) -> bool {
108106 mro. into_iter ( ) . any ( |c| c. is ( & cls) )
109107}
110108
111- /// Determines if `obj` is an instance of `cls`, either directly, indirectly or virtually via the
112- /// __instancecheck__ magic method.
113- pub fn real_isinstance (
114- vm : & mut VirtualMachine ,
115- obj : & PyObjectRef ,
116- cls : & PyObjectRef ,
117- ) -> PyResult < bool > {
118- // cpython first does an exact check on the type, although documentation doesn't state that
119- // https://github.com/python/cpython/blob/a24107b04c1277e3c1105f98aff5bfa3a98b33a0/Objects/abstract.c#L2408
120- if Rc :: ptr_eq ( & obj. typ ( ) , cls) {
121- Ok ( true )
122- } else {
123- let ret = vm. call_method ( cls, "__instancecheck__" , vec ! [ obj. clone( ) ] ) ?;
124- objbool:: boolval ( vm, ret)
125- }
126- }
127-
128109fn type_instance_check ( vm : & mut VirtualMachine , args : PyFuncArgs ) -> PyResult {
129110 arg_check ! (
130111 vm,
@@ -142,17 +123,6 @@ pub fn issubclass(subclass: &PyObjectRef, cls: &PyObjectRef) -> bool {
142123 mro. into_iter ( ) . any ( |c| c. is ( & cls) )
143124}
144125
145- /// Determines if `subclass` is a subclass of `cls`, either directly, indirectly or virtually via
146- /// the __subclasscheck__ magic method.
147- pub fn real_issubclass (
148- vm : & mut VirtualMachine ,
149- subclass : & PyObjectRef ,
150- cls : & PyObjectRef ,
151- ) -> PyResult < bool > {
152- let ret = vm. call_method ( cls, "__subclasscheck__" , vec ! [ subclass. clone( ) ] ) ?;
153- objbool:: boolval ( vm, ret)
154- }
155-
156126fn type_subclass_check ( vm : & mut VirtualMachine , args : PyFuncArgs ) -> PyResult {
157127 arg_check ! (
158128 vm,
0 commit comments