The is() function begins with the following code:

    cl <- class(object)
    if (length(cl) > 1) {
        if (is.na(match(cl[[1]], names(getClass("oldClass")@subclasses))))
            return(class2 %in% cl)

As one can see, it uses S3 inheritance if the first element of the class
attribute is an "oldClass". In R prior to 2.7, is() would check S4
inheritance if any (not just the first) classes named in the class attribute
were derived from "oldClass".

It seems to me that S3 inheritance would imply that an R object is an
instance of "oldClass" if any of its classes are derived from "oldClass".
Could the current behavior be changed, please?

Thanks,
Michael

        [[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to