On 12-03-07 9:52 AM, Richard Cotton wrote:
Even for an extremely simple instance of a reference class
x<- setRefClass("x")
y<- x$new()
calling the internal inspect function
.Internal(inspect(y))
produces enough output that it takes several minutes to print to the
console. (Actually I gave up and terminated the command after ~10
mins. It isn't clear whether the output would eventually complete.)
Are reference classes really so complicated inside, or is this a bug?
______________________________________________
If you look at the output, you'll see it's looping. When I hit Esc, I
saw that .self is an S4SXP with an attribute .xData which is an
environment containing the same .self, ad infinitum.
So I'd say it's a bug in inspect(). It can handle the case of an
environment holding itself, but I think it was written before S4SXPs
contained themselves, and it looks like it's not checking for that.
I'll take a look if someone else doesn't get there first...
Duncan Murdoch
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel