My guess is that the distinction here is between `@<-` and `slot<-`. The first, but not the second, has been converted to a primitive (the second has an optional argument, making it more of a nuisance to implement.)
Previously they did the same check; after the revision of `@<-` they did not; after a (fairly soon) new revision they will again. John On Jan 14, 2013, at 10:59 AM, François Michonneau wrote: > Hello Martin, > > Below is a reduced version of our code that doesn't produce an error in > r61643 but does in 2.15.2. > > Thanks, > -- François > > setClass("phylo4", > representation(edge="matrix", > annote="list"), > prototype = list(edge = matrix(nrow = 0, ncol = 2), > annote = list()) > ) > > setGeneric("phylo4", function(x, ...) { standardGeneric("phylo4")} ) > > setMethod("phylo4", "matrix", > function(x, annote = list()) { > res <- new("phylo4") > res@edge <- x > res@annote <- annote > res > } > ) > > edge <- structure(c(6L, 7L, 8L, 8L, 9L, 9L, 7L, 6L, 7L, 8L, 1L, 9L, > 2L, 3L, 4L, 5L), .Dim = c(8, 2)) > phylo4(edge, annote="foo") > > > > > On Mon, Jan 14, 2013 at 1:39 PM, Martin Maechler <maech...@stat.math.ethz.ch >> wrote: > >> phylo4 <- setClass("phylo4", >> representation(edge = "matrix", >> edge.length = "numeric", >> label = "character", >> edge.label = "character", >> order = "character", >> annote = "list"), >> prototype = list(edge = matrix(nrow = 0, ncol = 2, >> dimnames = list(NULL, >> c("ancestor", "descendant"))), >> edge.length = numeric(0), >> label = character(0), >> edge.label = character(0), >> order = "unknown", >> annote = list() >> ) >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel