Returns true if mod is a subclass of other or is the same
as other. Returns nil if there’s no relationship between the
two. (Think of the relationship in terms of the class definition: “class
A < B” implies “A < B”.)
VALUErb_class_inherited_p(VALUEmod,VALUEarg){if(mod==arg)returnQtrue;if(!CLASS_OR_MODULE_P(arg)&&!RB_TYPE_P(arg,T_ICLASS)){rb_raise(rb_eTypeError,"compared with non class/module");}if(class_search_ancestor(mod,RCLASS_ORIGIN(arg))){returnQtrue;}/* not mod < arg; check if mod > arg */if(class_search_ancestor(arg,mod)){returnQfalse;}returnQnil;}