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