It appears this started with R version 3.5.0. Under R 3.4.4 we have:
> setClass("Z", rep=representation(x="character"))
> z <- new("Z", x="orig")
> `@<-`(z, "x", value="newer")
An object of class "Z"
Slot "x":
[1] "newer"
> z
An object of class "Z"
Slot "x":
[1] "newer"
> `slot<-`(z, "x", value="newest")
An object of class "Z"
Slot "x":
[1] "newest"
> z
An object of class "Z"
Slot "x":
[1] "newest"
We noticed that the slot<- function alters its first argument, which goes
against the grain of a functional language. The similar @<- does not
change its first argument. Is this intended? The timeSeries and distr
package depend on this altering.
>/setClass("Z", rep=representation(x="character")) />/z <- new("Z", x="orig") />/`@<-`(z, "x",
value="newer") /An object of class "Z"
Slot "x":
[1] "newer"
>/z /An object of class "Z"
Slot "x":
[1] "orig"
>//>/`slot<-`(z, "x", value="newest") /An object of class "Z"
Slot "x":
[1] "newest"
>/z /An object of class "Z"
Slot "x":
[1] "newest"
Bill Dunlap
TIBCO Software
wdunlap tibco.com
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel