[Rd] Class generator functions for reference classes

John Chambers jmc at r-project.org
Tue Oct 30 22:09:05 CET 2012

A heads up for those using Rcpp and perhaps other packages related to 
reference classes.

The changes in 61035 cause a problem for classes defined with a slot 
using the return value of setRefClass(), notably for Rcpp. The name of 
that class changed.

Rather than introduce back-incompatibility, I will rename a couple of 
classes so the class name of the return value remains the same.  (It's 
not as natural a naming scheme as what is in place, but not the first 
time back-compatibility has won out over preferred design.)

It will be a day or two before I can get to this, so don't panic if your 
package does not install from the current r-devel until then.


On 10/27/12 2:07 PM, John Chambers wrote:
> As of rev. 61035 in r-devel, setRefClass() now returns a generator 
> function, as setClass() has done since 2.15.0.
> The convenient style is now:
>   mEdit <- setRefClass("mEdit",......)
>   xx <- mEdit(data = xMat)
> instead of
>   xx <- mEdit$new(data = xMat)
> The returned object still has fields and methods accessible as before.
> See the "Value" and "Reference Class Generators" sections of 
> ?ReferenceClasses for details.
> Thanks to Romain François for suggesting this.
> John
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

More information about the R-devel mailing list