Re: [Rd] Possible bug in 'new()' for Reference Classes

From: John Chambers <>
Date: Wed, 07 Dec 2011 15:19:14 -0800

Right, thanks for the catch. Actually, field names "s", "se", "sel" would also produce the bug. Partial matching of argument names bites again. This should be fixed in r-devel and 2.14 patched, as of SVN rev. 57842.

Do try to follow the API in the documentation and use generator objects for reference classes. It's simpler than using S4 new() and makes it clear that the example is of a reference class.


On 12/7/11 7:36 AM, Janko Thyson wrote:
> Dear list,
> I think I stumbled across a little bug with respect to the standard
> initialization routine for Reference Classes.
> It seems that a field 'self' is treated as if it's name would be
> '.self' (which we know is reserved for the self reference of the
> instantiated object itself) and thus an error is thrown.
> If the field value is assigned in an explicit call after the
> instantiation via 'new()', everything works just fine:
> setRefClass("ClassInfo",
> fields=list(
> self="character", super="character", sub="character"
> )
> )
> new("ClassInfo", self="B", super="A", sub="C") # Error
> x <- new("ClassInfo", super="A", sub="C")
> x
> x$self <- "B" # Works
> x
> Best regards,
> Janko
> ______________________________________________
> mailing list
> mailing list Received on Wed 07 Dec 2011 - 23:23:07 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 08 Dec 2011 - 10:10:16 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive