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.

John

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@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

Reply via email to