Hello all, It appears that for the simplest of S4 objects, z+1 does not equal 1+z. Presumably this is a bug, as 1+z seems to make a malformed object (at least malformed as an input to str). Thanks, Robert
> setClass("test", representation("vector")) [1] "test" > z <- new("test", 1) > identical(z+1, 1+z) [1] FALSE > str(z+1) Formal class 'test' [package ".GlobalEnv"] with 1 slots ..@ .Data: num 2 > str(1+z) Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Class 'test' Error: evaluation nested too deeply: infinite recursion / options(expressions=3D)? > R.version _ =20 platform x86_64-unknown-linux-gnu =20 arch x86_64 =20 os linux-gnu =20 system x86_64, linux-gnu =20 status =20 major 2 =20 minor 8.0 =20 year 2008 =20 month 10 =20 day 20 =20 svn rev 46754 =20 language R =20 version.string R version 2.8.0 (2008-10-20) ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel