Tests self reference of a data.table
selfref.ok.Rd
In rare situations, as presented in examples below, a data.table object may lose its internal attribute that holds a self-reference. This function tests just that.
It is not expected that many end users will have need for this highly technical function about data.table internals.
Examples
d1 = structure(list(V1=1L), class=c("data.table","data.frame"))
.selfref.ok(d1)
#> [1] FALSE
setDT(d1)
.selfref.ok(d1)
#> [1] TRUE
saveRDS(d1, f<-tempfile())
d2 = readRDS(f)
.selfref.ok(d2)
#> [1] FALSE
invisible(file.remove(f))
setDT(d2)
.selfref.ok(d2)
#> [1] TRUE
d3 = unserialize(serialize(d2, NULL))
.selfref.ok(d3)
#> [1] FALSE
setDT(d3)
.selfref.ok(d3)
#> [1] TRUE