From Roger.Bivand at nhh.no  Wed Apr 29 13:54:04 2009
From: Roger.Bivand at nhh.no (Roger Bivand)
Date: Wed, 29 Apr 2009 04:54:04 -0700 (PDT)
Subject: [Rd] Some extensions to class inheritance and method selection
In-Reply-To: <49F4BCE3.5040704@r-project.org>
References: <49F4BCE3.5040704@r-project.org>
Message-ID: <23295792.post@talk.nabble.com>


In released 2.9.0, we have been seeing warnings when installing sp, for
example:

Warning in .checkS3forClass(ClassDef at className, where, names(exts)) :
  Some of the superclasses in the definition of class "SpatialPoints" have
apparent S3 methods.

DANGER: the new class will not inherit these methods.
Complain to the author of the superclass definitions.

The apparent methods are  "plot.Spatial", "summary.Spatial"

Running R CMD check sp (or installing from CRAN) on 2.10.0 (2009-04-29
r48433) does not generate any such warnings. For us, it would be helpful if
the extensions could be patched into 2.9.1 (although no user has complained,
curiously enough).

Roger



John Chambers-2 wrote:
> 
> Changes were committed today to the r-devel version of R to make S4 and 
> S3 classes (and abnormal object types such as "environment") work 
> together more consistently.
> 
> Basically, S4 classes can now contain any S3 class or object type, and 
> should now inherit S3 methods for these.  Also, the main practical 
> problem with defining S3 methods for other S4 classes (namely, that S4 
> inheritance was not recognized) has been fixed, to the extent possible.
> 
> See ?Methods (especially the section on S3 methods).  For details (there 
> are quite a few) see the paper referenced there,
>   http://stat.stanford.edu/~jmc4/classInheritance.pdf
> 
> Since these changes arguably fix design flaws, I would like to see them 
> in 2.9.1, so please test them out.  For the moment, they are only in the 
> r-devel version.
> 
> There can be changes to current behavior.  For example, I found one 
> regression test for S4 methods that only worked because an apparent S3 
> method, sort.list, was NOT inherited by an S4 class that contained "list".
> 
> John
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> 

-- 
View this message in context: http://www.nabble.com/Some-extensions-to-class-inheritance-and-method-selection-tp23245983p23295792.html
Sent from the R devel mailing list archive at Nabble.com.



[Rd] Some extensions to class inheritance and method selection
Roger Bivand