[Rd] $new cannot be accessed when running from Rscript and methods package is not loaded

Peter Meilstrup peter.meilstrup at gmail.com
Tue Feb 11 03:22:25 CET 2014

Because "depends" is treated incorrectly (if I may place a value
judgement on it). I had an earlier thread on this, not sure if any
changes have taken place since then:


On Mon, Feb 10, 2014 at 5:53 PM, Kirill Müller
<kirill.mueller at ivt.baug.ethz.ch> wrote:
> Hi
> Accesses the $new method for a class defined in a package fails if the
> methods package is not loaded. I have created a test package with the
> following single code file:
> newTest <- function() {
>   cl <- get("someClass")
>   cl$new
> }
> someClass <- setRefClass("someClass")
> (This is similar to code actually used in the testthat package.)
> If methods is not loaded, executing the newTest function fails in the
> following scenarios:
> - Package "depends" on methods (scenario "depend")
> - Package "imports" methods and imports either the setRefClass function
> (scenario "import-setRefClass") or the whole package (scenario
> "import-methods")
> It succeeds if the newTest function calls require(methods) (scenario
> "require").
> The script at https://raw2.github.com/krlmlr/methodsTest/master/test-all.sh
> creates an empty user library in subdirectory r-lib of the current
> directory, installs devtools, and tests the four scenarios by repeatedly
> installing the corresponding version of the package and trying to execute
> newTest() from Rscript. I have attached the output. The package itself is on
> GitHub: https://github.com/krlmlr/methodsTest , there is a branch for each
> scenario.
> Why does it seem to be necessary to load the methods package here?
> Best regards
> Kirill
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

More information about the R-devel mailing list