Hi, I'm using Version 1.9.0 (2004-04-12) on Windows NT/98/2000 and found the following difference between using setClass(..., valdity = ), respectively using setValidity() afterwards: setValidity() changes the "Extends"-part of a derived class, is this intended or a bug or am I missing something? ########################################## ## Example code ########################################## setClass("Class1", representation("name" = "character")) if(!isGeneric("name")) setGeneric("name", function(object) standardGeneric("name")) setMethod("name", "Class1", function(object) object at name) setClass("Class2", representation("Class1")) setClass("Class3", representation("Class2")) getClass("Class3") # as I expected #Slots: # #Name: name #Class: character # #Extends: #Class "Class2", directly #Class "Class1", by class "Class2" validClass3 <- function(object){TRUE} setValidity("Class3", validClass3) #Slots: # #Name: name #Class: character # #Extends: "Class2" # has been changed??? getClass("Class3") # why does setValidity change "Extends"? # am I missing something? # This doesn't happen if I use # setClass(..., validity = ) # It, of course, also works if I explicitly use # setClass("Class3", contains = c("Class2", "Class1") C32 <- new("Class3") name(C32) # generates an error?! #Error in name(C32) : No direct or inherited method for function "name" for this call is(C32, "Class1") # however #TRUE