From jmc at r-project.org  Tue Oct 30 22:09:05 2012
From: jmc at r-project.org (John Chambers)
Date: Tue, 30 Oct 2012 14:09:05 -0700
Subject: [Rd] Class generator functions for reference classes
In-Reply-To: <508C4D16.4070104@r-project.org>
References: <508C4D16.4070104@r-project.org>
Message-ID: <509041F1.1050004@r-project.org>

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 at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] Class generator functions for reference classes
John Chambers