Running 'run.R' [38s/45s]
Running the tests in 'tests/run.R' failed.
Complete output:
  > cat(getwd(), "\n")
  /home/hornik/tmp/R.check/r-devel-clang/Work/PKGS/vetr.Rcheck/tests 
  > if(suppressWarnings(require('unitizer'))) {
  +   local({
  +     suppressWarnings(RNGversion("3.5.2"));
  +     on.exit({
  +       RNGversion(as.character(getRversion()))
  +     })
  +     pattern <- 'alike'
  +     unitize_dir(
  +       'unitizer',
  +       # pattern=pattern,
  +       state='recommended'
  +     )
  +   })
  + } else {
  +   warning("Cannot run tests without package `unitizer`")
  + }
  Loading required package: unitizer
  State tracking is disabled by default to comply with CRAN policies. Add `options(unitizer.state='suggested')` to your 'Rprofile' file to enable, or `options(unitizer.state='off')` to quash this message without enabling.  Prior to enabling, be sure to read `?unitizerState`,in particular the 'CRAN non-compliance' section.
  
  Preloads...
  Loading unitizer data...
  Parsing tests...
  Parsing unitizer/abstract.R
  Parsing unitizer/alike.R
  Parsing unitizer/all-bw.R
  Parsing unitizer/classes.R
  Parsing unitizer/cstringr.R
  Parsing unitizer/eval.R
  Parsing unitizer/internal.R
  Parsing unitizer/language.R
  Parsing unitizer/misc.R
  Parsing unitizer/parse.R
  Parsing unitizer/tev.R
  Parsing unitizer/type.R
  Parsing unitizer/validate.R
  Parsing unitizer/validate.args.R
  Evaluating tests...
  
   1/14 abstract.R: 
   1/14 abstract.R: library(vetr)
   1/14 abstract.R: unitizer_sect("Standard Methods", {
   1/14 abstract.R: abstract(1:10)
  integer(0)
   1/14 abstract.R: abstract(list(a = 1:10, b = runif(10)))
  $a
  integer(0)
  
  $b
  numeric(0)
  
   1/14 abstract.R: abstract(matrix(1:9, nrow = 3))
  <0 x 0 matrix>
   1/14 abstract.R: abstract(array(1:8, c(2, 2, 2), dimnames = list(letters[1:2], 
  <0 x 0 x 0 array of integer>
      
  
   1/14 abstract.R: list.arr <- replicate(8, list(1), simplify = FALSE)
   1/14 abstract.R: dim(list.arr) <- rep(2, 3)
   1/14 abstract.R: abstract(list.arr)
  <0 x 0 x 0 array of character>
      
  
   1/14 abstract.R: abstract(list(1, NULL))
  [[1]]
  numeric(0)
  
  [[2]]
  NULL
  
   1/14 abstract.R: alike(abstract(iris), iris[1:10, ])
  [1] TRUE
   1/14 abstract.R: alike(abstract(iris), iris[1:10, 1:3])
  [1] "`iris[1:10, 1:3]` should have 5 columns (has 3)"
   1/14 abstract.R: alike(abstract(iris), transform(iris, Species = as.character(S
  [1] "`transform(iris, Species = as.character(Species))$Species` should be class \"factor\" (is \"character\")"
   1/14 abstract.R: my.env <- new.env()
   1/14 abstract.R: identical(my.env, abstract(my.env))
  [1] TRUE
   1/14 abstract.R: unitizer_sect("Time Series", {
   1/14 abstract.R: y <- ts(runif(12), start = 1970, frequency = 12)
   1/14 abstract.R: attr(abstract(y), "tsp")
  [1] 0 0 0
   1/14 abstract.R: attr(abstract(y, "start"), "tsp")
  [1]    0.000 1970.917   12.000
   1/14 abstract.R: attr(abstract(y, "end"), "tsp")
  [1] 1970    0   12
   1/14 abstract.R: attr(abstract(y, "frequency"), "tsp")
  [1] 1970.000 1970.917    0.000
   1/14 abstract.R: attr(abstract(y, c("start", "frequency")), "tsp")
  [1]    0.000 1970.917    0.000
   1/14 abstract.R: abstract(y, "boom")
  Error in abstract.ts(y, "boom") : 
    Argument `what` must be character with all values in c("start", "end", "frequency")
  Calls: local ... eval -> eval -> withVisible -> abstract -> abstract.ts
   1/14 abstract.R: vetr:::abstract.ts(1:12)
  Error in vetr:::abstract.ts(1:12) : 
    Argument `x` must have a "tsp" attribute that is numeric(3L)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   1/14 abstract.R: unitizer_sect("s4", {
   1/14 abstract.R: obj <- new("unitizerGlobalState")
   1/14 abstract.R: abstract(obj)
  An object of class "unitizerGlobalState"
  Slot "search.path":
  NULL
  
  Slot "options":
  NULL
  
  Slot "working.directory":
  NULL
  
  Slot "random.seed":
  NULL
  
  Slot "namespaces":
  NULL
  
   1/14 abstract.R: nullify(obj, 1)
  Error in as.list.default(obj) : 
    no method for coercing this S4 class to a vector
  Error in nullify.default(obj, 1) : 
    Could not coerce `obj` to list; see previous error.
  Calls: local ... eval -> eval -> withVisible -> nullify -> nullify.default
   1/14 abstract.R: unitizer_sect("lm", {
   1/14 abstract.R: set.seed(1)
   1/14 abstract.R: df1 <- data.frame(x = runif(10), y = runif(10), z = runif(10))
   1/14 abstract.R: df2 <- data.frame(a = runif(5), b = runif(5), c = runif(5))
   1/14 abstract.R: mdl <- lm(y ~ x + poly(z, 2), df1)
   1/14 abstract.R: alike(abstract(mdl), mdl)
  [1] TRUE
   1/14 abstract.R: mdl2 <- lm(x ~ y + poly(z, 2), df1)
   1/14 abstract.R: alike(abstract(mdl), mdl2)
  [1] TRUE
   1/14 abstract.R: mdl3 <- lm(a ~ b + log(c), df2)
   1/14 abstract.R: alike(abstract(mdl), mdl3)
  [1] "`mdl3$terms[[3]][[3]][[1]]` should be a call to `poly` (is a call to `log`)"
   1/14 abstract.R: mdl4 <- lm(a ~ b, df2)
   1/14 abstract.R: alike(abstract(mdl), mdl4)
  [1] "`mdl4$terms[[3]]` should be a call to `+` (is \"symbol\")"
   1/14 abstract.R: unitizer_sect("nullify", {
   1/14 abstract.R: nullify(list(1, 2, 3), 2)
  [[1]]
  [1] 1
  
  [[2]]
  NULL
  
  [[3]]
  [1] 3
  
   1/14 abstract.R: nullify(list(1, 2, 3), -2)
  Error in nullify.default(list(1, 2, 3), -2) : 
    Argument `index` must be a valid subsetting index and if numeric must be greater than or equal to one.
  Calls: local ... eval -> eval -> withVisible -> nullify -> nullify.default
   1/14 abstract.R: nullify(list(1, 2, 3, 4), c(TRUE, FALSE))
  [[1]]
  NULL
  
  [[2]]
  [1] 2
  
  [[3]]
  NULL
  
  [[4]]
  [1] 4
  
   1/14 abstract.R: nullify(list(1, 2, 3, 4), c(TRUE, FALSE, FALSE))
  Warning in nullify.default(list(1, 2, 3, 4), c(TRUE, FALSE, FALSE)) :
    Argument `obj` is not a multiple in length of argument `obj`
  [[1]]
  NULL
  
  [[2]]
  [1] 2
  
  [[3]]
  [1] 3
  
  [[4]]
  NULL
  
   1/14 abstract.R: nullify(list(1, 2, 3, 4), c(rep(FALSE, 4), TRUE))
  Error in nullify.default(list(1, 2, 3, 4), c(rep(FALSE, 4), TRUE)) : 
    Argument `index` may be no longer than `obj` if it is logical.
  Calls: local ... eval -> eval -> withVisible -> nullify -> nullify.default
   1/14 abstract.R: nullify(list(a = 1, b = 2, 3, 4), c("a", "b"))
  $a
  NULL
  
  $b
  NULL
  
  [[3]]
  [1] 3
  
  [[4]]
  [1] 4
  
   1/14 abstract.R: nullify(list(1, 2, 3, 4), "hello")
  Error in nullify.default(list(1, 2, 3, 4), "hello") : 
    Argument `index` contains values not present in names of `obj` (hello).
  Calls: local ... eval -> eval -> withVisible -> nullify -> nullify.default
   1/14 abstract.R: nullify(list(1, 2, 3), 4)
  Error in nullify.default(list(1, 2, 3), 4) : 
    Argument `index` can only contain values that exist within seq_along(`obj`).
  Calls: local ... eval -> eval -> withVisible -> nullify -> nullify.default
   1/14 abstract.R: iris.null <- nullify(iris[1:10, ], 4)
   1/14 abstract.R: as.list(iris.null)
  $Sepal.Length
   [1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9
  
  $Sepal.Width
   [1] 3.5 3.0 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1
  
  $Petal.Length
   [1] 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5
  
  $Petal.Width
  NULL
  
  $Species
   [1] setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa
  Levels: setosa versicolor virginica
  
   1/14 abstract.R: class(iris.null)
  [1] "data.frame"
   1/14 abstract.R: nullify(letters, 5)
   [1] "a"    "b"    "c"    "d"    "NULL" "f"    "g"    "h"    "i"    "j"   
  [11] "k"    "l"    "m"    "n"    "o"    "p"    "q"    "r"    "s"    "t"   
  [21] "u"    "v"    "w"    "x"    "y"    "z"   
   1/14 abstract.R: nullify(structure(letters[1:2], class = "xqwer892jahaksdf"), 
  Warning in nullify.default(structure(letters[1:2], class = "xqwer892jahaksdf"),  :
    Unable to convert object back to class "xqwer892jahaksdf"
  [[1]]
  [1] "a"
  
  [[2]]
  NULL
  
  
   2/14 alike.R: 
   2/14 alike.R: library(vetr)
   2/14 alike.R: unitizer_sect("Atomic", {
   2/14 alike.R: alike(integer(), 1:3)
  [1] TRUE
   2/14 alike.R: alike(integer(5L), 1:3)
  [1] "`length(1:3)` should be 5 (is 3)"
   2/14 alike.R: alike(integer(3L), 1:3)
  [1] TRUE
   2/14 alike.R: alike(numeric(), c(1, 2, 3))
  [1] TRUE
   2/14 alike.R: alike(numeric(), 1L)
  [1] TRUE
   2/14 alike.R: alike(numeric(), c(1.1, 0.053, 41.8))
  [1] TRUE
   2/14 alike.R: alike(integer(3L), 1:3 + 0.01)
  [1] "`1:3 + 0.01` should be type \"integer-like\" (is \"double\")"
   2/14 alike.R: alike(integer(6L), seq(1/6, 1, 1/6) * 6)
  [1] "`seq(1/6, 1, 1/6) * 6` should be type \"integer-like\" (is \"double\")"
   2/14 alike.R: alike(integer(4L), letters[1:4])
  [1] "`letters[1:4]` should be type \"integer-like\" (is \"character\")"
   2/14 alike.R: alike(letters[1:4], c("hello", "goodbye", "ba", "da"))
  [1] TRUE
   2/14 alike.R: alike(integer(), NULL)
  [1] "`NULL` should be type \"integer-like\" (is \"NULL\")"
   2/14 alike.R: alike(c(a = 1, b = 2), 3)
  [1] "`length(3)` should be 2 (is 1)"
   2/14 alike.R: alike(c(a = 1, b = 2), c(1, 2))
  [1] "`c(1, 2)` should have attribute \"names\""
   2/14 alike.R: unitizer_sect("lists", {
   2/14 alike.R: lst <- list(list(1, 2), list(3, list(4, list(5, list(6, 6.1, 
   2/14 alike.R: lst.2 <- list(list(11, 21), list(31, list(41, list(51, list(61)))
   2/14 alike.R: alike(lst, lst.2)
  [1] "`length(lst.2[[2]][[2]][[2]][[2]])` should be 3 (is 1)"
   2/14 alike.R: lst.3 <- lst.2
   2/14 alike.R: lst.3[[2]][[2]][[2]][[2]] <- matrix(1:9, nrow = 3)
   2/14 alike.R: alike(lst, lst.3)
  [1] "`lst.3[[2]][[2]][[2]][[2]]` should be type \"list\" (is \"integer\")"
   2/14 alike.R: alike(1:10, "hello")
  [1] "`\"hello\"` should be type \"integer-like\" (is \"character\")"
   2/14 alike.R: alike(lst, lst)
  [1] TRUE
   2/14 alike.R: lst.4 <- lst
   2/14 alike.R: lst.4[[2]][[2]] <- list()
   2/14 alike.R: alike(lst.4, lst)
  [1] TRUE
   2/14 alike.R: alike(lst, lst.4)
  [1] "`length(lst.4[[2]][[2]])` should be 2 (is 0)"
   2/14 alike.R: lst.5 <- list(1, list(a = 1, b = 2, c = list(d = 1)))
   2/14 alike.R: lst.6 <- list(1, list(a = 1, b = 2, c = list(d = "hello")))
   2/14 alike.R: lst.5.1 <- list(1, list(a = 1, b = 2, `c d` = list(d = 1)))
   2/14 alike.R: lst.6.1 <- list(1, list(a = 1, b = 2, `c d` = list(d = "hello")))
   2/14 alike.R: alike(lst.5, lst.6)
  [1] "`lst.6[[2]]$c$d` should be type \"numeric\" (is \"character\")"
   2/14 alike.R: alike(lst.6, lst.5)
  [1] "`lst.5[[2]]$c$d` should be type \"character\" (is \"double\")"
   2/14 alike.R: alike(lst.5.1, lst.6.1)
  [1] "{lst.6.1[[2]]$`c d`$d} should be type \"numeric\" (is \"character\")"
   2/14 alike.R: alike(lst.6.1, lst.5.1)
  [1] "{lst.5.1[[2]]$`c d`$d} should be type \"character\" (is \"double\")"
   2/14 alike.R: alike(pairlist(a = 1, b = "character"), pairlist(a = 1, b = lette
  [1] "`length(pairlist(a = 1, b = letters)$b)` should be 1 (is 26)"
   2/14 alike.R: alike(pairlist(1, "character"), pairlist(1, letters))
  [1] "`length(pairlist(1, letters)[[2]])` should be 1 (is 26)"
   2/14 alike.R: unitizer_sect("NULL values as wildcards", {
   2/14 alike.R: alike(NULL, 1:3)
  [1] "`1:3` should be `NULL` (is \"integer\")"
   2/14 alike.R: alike(list(NULL), list(1:3))
  [1] TRUE
   2/14 alike.R: alike(list(NULL, NULL), list(list(list(1, 2, 3)), 1:25))
  [1] TRUE
   2/14 alike.R: alike(list(NULL), list(1, 2))
  [1] "`length(list(1, 2))` should be 1 (is 2)"
   2/14 alike.R: alike(list(), list(1, 2))
  [1] TRUE
   2/14 alike.R: unitizer_sect("Matrix / Arrays", {
   2/14 alike.R: alike(matrix(integer(), ncol = 7), matrix(1:21, nrow = 3))
  [1] TRUE
   2/14 alike.R: alike(matrix(integer(), nrow = 3), matrix(1:21, nrow = 3))
  [1] TRUE
   2/14 alike.R: alike(matrix(character(), nrow = 3), matrix(1:21, nrow = 3))
  [1] "`matrix(1:21, nrow = 3)` should be type \"character\" (is \"integer\")"
   2/14 alike.R: alike(matrix(integer(), nrow = 4), matrix(1:21, nrow = 3))
  [1] "`matrix(1:21, nrow = 3)` should have 4 rows (has 3)"
   2/14 alike.R: alike(matrix(integer(), ncol = 3, dimnames = list(NULL, c("R", 
  [1] TRUE
   2/14 alike.R: alike(matrix(integer(), nrow = 3, dimnames = list(c("R", "G", 
  [1] "`matrix(1:21, ncol = 3, dimnames = list(NULL, c(\"R\", \"G\", \"B\")))` should have 3 rows (has 7)"
   2/14 alike.R: alike(matrix(integer(), nrow = 3, dimnames = list(c("R", "G", 
  [1] "row.names(matrix(1:9, nrow = 3, dimnames = list(NULL, c(\"R\", \n    \"G\", \"B\"))))\nshould be type \"character\" (is \"NULL\")"
   2/14 alike.R: alike(matrix(integer(), nrow = 3, dimnames = list(c("R", "G", 
  [1] TRUE
   2/14 alike.R: alike(matrix(1:9, nrow = 3), 1:9)
  [1] "`1:9` should be \"matrix\" (is \"integer\")"
   2/14 alike.R: mx.tpl <- matrix(integer(), ncol = 3, dimnames = list(row.id = NU
   2/14 alike.R: mx.cur <- matrix(sample(0:255, 12), ncol = 3, dimnames = list(row
   2/14 alike.R: mx.cur2 <- matrix(sample(0:255, 12), ncol = 3, dimnames = list(1:
   2/14 alike.R: alike(mx.tpl, mx.cur)
  [1] TRUE
   2/14 alike.R: alike(mx.tpl, mx.cur2)
  [1] "`dimnames(mx.cur2)` should have attribute \"names\""
   2/14 alike.R: unitizer_sect("Data Frames", {
   2/14 alike.R: alike(mtcars, 1:3)
  [1] "`1:3` should be class \"data.frame\" (is \"integer\")"
   2/14 alike.R: alike(1:3, mtcars)
  [1] "`mtcars` should be type \"integer-like\" (is \"list\")"
   2/14 alike.R: alike(data.frame(), data.frame(a = 1:3, b = letters[1:3]))
  [1] TRUE
   2/14 alike.R: (alike)(data.frame(a = integer(), b = factor()), data.frame(a = 1
  [1] TRUE
   2/14 alike.R: alike(data.frame(a = factor(), b = factor()), data.frame(a = 1:3,
  [1] "`data.frame(a = 1:3, b = letters[1:3])$a` should be class \"factor\" (is \"integer\")"
   2/14 alike.R: alike(list(NULL, structure("a", class = "x")), list(NULL, structu
  [1] "`list(NULL, structure(\"a\", class = \"y\"))[[2]]` should be class \"x\" (is \"y\")"
   2/14 alike.R: alike(list(integer(), data.frame(a = integer(), b = numeric()), 
  [1] TRUE
   2/14 alike.R: df.tpl <- structure(list(1:4, factor(LETTERS[1:4], levels = LETTE
   2/14 alike.R: df.cur <- `row.names<-`(data.frame(id = 5:8, val = factor(LETTERS
   2/14 alike.R: df.cur2 <- `row.names<-`(data.frame(id = 5:8, val = factor(LETTER
   2/14 alike.R: alike(df.tpl, df.cur)
  [1] TRUE
   2/14 alike.R: alike(df.cur, df.tpl)
  [1] "`names(df.tpl)[2]` should be \"val\" (is \"\")"
   2/14 alike.R: alike(df.tpl, df.cur2)
  [1] "`row.names(df.cur2)[1]` should be \"one\" (is \"uno\")"
   2/14 alike.R: df.tpl <- structure(list(1:4, letters[1:4]), names = c("id", 
   2/14 alike.R: df.cur <- structure(list(1:4, letters[1:4]), names = c("id", 
   2/14 alike.R: alike(df.tpl, df.tpl)
  [1] TRUE
   2/14 alike.R: alike(df.tpl, df.cur)
  [1] "`names(df.cur)[2]` should be \"NA\" (is \"val\")"
   2/14 alike.R: alike(mtcars, iris)
  [1] "`iris` should have 11 columns (has 5)"
   2/14 alike.R: alike(mtcars, mtcars[1:10, ])
  [1] "`mtcars[1:10, ]` should have 32 rows (has 10)"
   2/14 alike.R: alike(mtcars[-5], mtcars)
  [1] "`mtcars` should have 10 columns (has 11)"
   2/14 alike.R: unitizer_sect("Time Series", {
   2/14 alike.R: ts.1 <- ts(runif(24), 1970, frequency = 12)
   2/14 alike.R: ts.2 <- ts(runif(24), 1970, frequency = 4)
   2/14 alike.R: ts.3 <- abstract(ts.1, "end")
   2/14 alike.R: ts.4 <- abstract(ts.2, "frequency")
   2/14 alike.R: alike(ts.1, ts.2)
  [1] "`tsp(ts.2)[2]` should be 1971.92 (is 1975.75)"
   2/14 alike.R: alike(ts.3, ts.1)
  [1] TRUE
   2/14 alike.R: alike(ts.1, ts.3)
  [1] "`tsp(ts.3)[2]` should be 1971.92 (is 0)"
   2/14 alike.R: alike(ts.3, ts.2)
  [1] "`tsp(ts.2)[3]` should be 12 (is 4)"
   2/14 alike.R: ts.5 <- ts(matrix(runif(24 * 3), ncol = 3), 1970, frequency = 12)
   2/14 alike.R: ts.6 <- ts(matrix(runif(12 * 3), ncol = 3), 1970, frequency = 12)
   2/14 alike.R: alike(ts.5, ts.6)
  [1] "`tsp(ts.6)[2]` should be 1971.92 (is 1970.92)"
   2/14 alike.R: alike(ts.5, matrix(runif(24 * 3), ncol = 3))
  [1] "`matrix(runif(24 * 3), ncol = 3)` should be class \"mts\" (is \"numeric\")"
   2/14 alike.R: unitizer_sect("Factors", {
   2/14 alike.R: f1 <- factor(letters[1:5])
   2/14 alike.R: f2 <- factor(letters[1:5], levels = letters[5:1])
   2/14 alike.R: f3 <- f1
   2/14 alike.R: levels(f3)[[5]] <- ""
   2/14 alike.R: f4 <- factor(c(letters[1:4], "f"))
   2/14 alike.R: alike(f1, f2)
  [1] "`levels(f2)[1]` should be \"a\" (is \"e\")"
   2/14 alike.R: alike(f1, f3)
  [1] "`levels(f3)[5]` should be \"e\" (is \"\")"
   2/14 alike.R: alike(f1, f4)
  [1] "`levels(f4)[5]` should be \"e\" (is \"f\")"
   2/14 alike.R: alike(f3, f1)
  [1] TRUE
   2/14 alike.R: alike(f3, f4)
  [1] TRUE
   2/14 alike.R: unitizer_sect("Environments / Pairlists", {
   2/14 alike.R: env0 <- new.env()
   2/14 alike.R: env1 <- list2env(list(a = character(), b = list(), c = NULL))
   2/14 alike.R: env2 <- list2env(list(a = "hello", b = iris, c = matrix(1:3)))
   2/14 alike.R: env3 <- list2env(list(a = "hello", b = iris))
   2/14 alike.R: env4 <- list2env(list(a = "hello", b = iris, c = logical(1L), 
   2/14 alike.R: env5 <- list2env(list(b = iris, a = "hello", c = matrix(1:3)))
   2/14 alike.R: alike(env0, env2)
  [1] TRUE
   2/14 alike.R: alike(env1, env2)
  [1] TRUE
   2/14 alike.R: alike(env1, env3)
  [1] "`env3` should contain variable `c`"
   2/14 alike.R: alike(env3, env1)
  [1] "`length(env1$a)` should be 1 (is 0)"
   2/14 alike.R: alike(env1, env4)
  [1] TRUE
   2/14 alike.R: alike(env1, env5)
  [1] TRUE
   2/14 alike.R: rec.env <- rec.env.cpy <- new.env()
   2/14 alike.R: for (i in 1:50) {
   2/14 alike.R: rec.env.cpy$a <- rec.env
   2/14 alike.R: alike(rec.env, rec.env)
  [1] TRUE
   2/14 alike.R: plst1 <- pairlist(a = character(), b = list(), c = NULL)
   2/14 alike.R: plst2 <- pairlist(a = "hello", b = iris, c = matrix(1:3))
   2/14 alike.R: plst3 <- pairlist(a = "hello", b = iris)
   2/14 alike.R: plst4 <- pairlist(a = "hello", b = iris, c = logical(1L), d = log
   2/14 alike.R: plst5 <- pairlist(a = character(), b = list(), integer())
   2/14 alike.R: plst6 <- pairlist(a = character(), b = list(), boogey = 1:3)
   2/14 alike.R: plst7 <- pairlist(a = character(), boogey = 1:3, b = list())
   2/14 alike.R: alike(plst1, plst2)
  [1] TRUE
   2/14 alike.R: alike(plst1, plst3)
  [1] "`length(plst3)` should be 3 (is 2)"
   2/14 alike.R: alike(plst1, plst4)
  [1] "`length(plst4)` should be 3 (is 4)"
   2/14 alike.R: alike(plst1, plst5)
  [1] "`names(plst5)[[3L]]` should be \"c\" (is \"\")"
   2/14 alike.R: alike(plst5, plst6)
  [1] TRUE
   2/14 alike.R: alike(plst5, plst7)
  [1] "`names(plst7)[[2L]]` should be \"b\" (is \"boogey\")"
   2/14 alike.R: env7 <- list2env(list(a = character(), b = plst1))
   2/14 alike.R: env8 <- list2env(list(a = letters[1:3], b = plst2))
   2/14 alike.R: env9 <- list2env(list(a = letters[1:3], b = plst5))
   2/14 alike.R: alike(env7, env8)
  [1] TRUE
   2/14 alike.R: alike(env7, env9)
  [1] "`names(env9$b)[[3L]]` should be \"c\" (is \"\")"
   2/14 alike.R: env.nest.1 <- env.nest.1.cpy <- new.env()
   2/14 alike.R: env.nest.2 <- env.nest.2.cpy <- new.env()
   2/14 alike.R: for (i in 1:26) {
   2/14 alike.R: alike(env.nest.1, env.nest.2, settings = vetr_settings(env.depth.
  Warning in alike(env.nest.1, env.nest.2, settings = vetr_settings(env.depth.max = 16)) :
    `alike` environment stack exhausted at recursion depth 16; unable to recurse any further into environments; see `env.depth.max` parameter for `vetr_settings`.
  [1] TRUE
   2/14 alike.R: alike(.GlobalEnv, env.nest.1)
  [1] "`env.nest.1` should be the global environment"
   2/14 alike.R: unitizer_sect("Calls / Formulas", {
   2/14 alike.R: alike(quote(1 + 1), quote(x + y))
  [1] "`quote(x + y)[[2]]` should be \"double\" (is \"symbol\")"
   2/14 alike.R: alike(quote(fun(1 + 1)), quote(fun(x + y, 9)))
  [1] "`quote(fun(x + y, 9))[[2]][[2]]` should be \"double\" (is \"symbol\")"
   2/14 alike.R: alike(quote(fun(x + y, 9)), quote(fun(1 + 1)))
  [1] "`quote(fun(1 + 1))[[2]][[2]]` should be \"symbol\" (is \"double\")"
   2/14 alike.R: "%plusq%" <- function(x, y) call("+", substitute(x), substitute(y
   2/14 alike.R: alike(quote(1 + 1), 1 %plusq% b)
  [1] "`(1 %plusq% b)[[3]]` should be \"double\" (is \"symbol\")"
   2/14 alike.R: fun <- function(a, b, c) NULL
   2/14 alike.R: alike(quote(fun(b = fun2(x, y), 1, 3)), quote(fun(NULL, fun2(a, 
  [1] TRUE
   2/14 alike.R: (alike)(quote(fun(b = fun2(x, y), 1, 3)), quote(fun(NULL, fun2(a,
  [1] "`quote(fun(NULL, fun2(a, b), 1))` should have argument `b` as first argument (has unnamed argument)"
   2/14 alike.R: alike(quote(fun(b = fun2(x, y), 1, 3)), quote(fun(fun2(a, b), 
  [1] "`quote(fun(fun2(a, b), NULL, 1))[[2]]` should be \"double\" (is \"language\")"
   2/14 alike.R: alike(quote(fun(a = 1)), quote(fun(b = 1)))
  [1] "`quote(fun(b = 1))` should have argument `a` as first argument (has `b`)"
   2/14 alike.R: alike(quote(fun(1, 2)), quote(fun(1)))
  [1] "`quote(fun(1))` should have 2 arguments (has 1)"
   2/14 alike.R: alike(quote(fun(1)), quote(fun(1, 2)))
  [1] "`quote(fun(1, 2))` should have 1 arguments (has 2)"
   2/14 alike.R: alike(quote(fun(1, 2)), quote(fun2(1, 2)))
  [1] "`quote(fun2(1, 2))[[1]]` should be a call to `fun` (is a call to `fun2`)"
   2/14 alike.R: alike(quote(fun(1, fun2(3))), quote(fun(1, fun(3))))
  [1] "`quote(fun(1, fun(3)))[[3]][[1]]` should be a call to `fun2` (is a call to `fun`)"
   2/14 alike.R: alike(quote(fun()), quote(fun(a, b, c)))
  [1] TRUE
   2/14 alike.R: alike(quote(fun()), quote(fun2(a, b, c)))
  [1] "`quote(fun2(a, b, c))[[1]]` should be a call to `fun` (is a call to `fun2`)"
   2/14 alike.R: alike(quote(fun(a, fun2())), quote(fun(b, fun2(a, b, c))))
  [1] TRUE
   2/14 alike.R: c0 <- quote(fun(a, b, a, 25))
   2/14 alike.R: c0.1 <- c0.2 <- c0
   2/14 alike.R: attr(c0.1, "blah") <- "hello"
   2/14 alike.R: attr(c0.2, "blah") <- 1:3
   2/14 alike.R: alike(c0, c0.1)
  [1] TRUE
   2/14 alike.R: alike(c0.1, c0)
  [1] "`c0` should have attribute \"blah\""
   2/14 alike.R: alike(c0.1, c0.2)
  [1] "`attr(c0.2, \"blah\")` should be character (is integer)"
   2/14 alike.R: alike(x ~ y, z ~ w)
  [1] TRUE
   2/14 alike.R: alike(x ~ y, z ~ w + 1)
  [1] "`(z ~ w + 1)[[3]]` should be \"symbol\" (is \"language\")"
   2/14 alike.R: alike(x ~ y + 2, z ~ w + 1)
  [1] "`(z ~ w + 1)[[3]][[3]]` should have identical constant values"
   2/14 alike.R: alike(x ~ y + z:y, w ~ v + u:v)
  [1] TRUE
   2/14 alike.R: alike(z ~ w + 1, x ~ y)
  [1] "`(x ~ y)[[3]]` should be a call to `+` (is \"symbol\")"
   2/14 alike.R: alike(y ~ x^2 + x * z + z + w:z, q ~ l^2 + l * j + j + w:j)
  [1] TRUE
   2/14 alike.R: alike(y ~ x^2 + x * z + z + w:z, q ~ l^3 + l * j + j + w:j)
  [1] "`(q ~ l^3 + l * j + j + w:j)[[3]][[2]][[2]][[2]][[3]]` should have identical constant values"
   2/14 alike.R: exp.1 <- parse(text = "x + y; fun2(fun(1, 2, 3), z)", keep.source
   2/14 alike.R: exp.2 <- parse(text = "z + 2; fun(fun2(1, 2, 3), q)", keep.source
   2/14 alike.R: exp.3 <- parse(text = "z + fun(3); fun(fun2(a, b, c), 3)", keep.s
   2/14 alike.R: alike(exp.1, exp.2)
  [1] "`exp.2[[1]][[3]]` should be \"symbol\" (is \"double\")"
   2/14 alike.R: alike(exp.2, exp.3)
  [1] "`exp.3[[1]][[3]]` should be \"double\" (is \"language\")"
   2/14 alike.R: alike(exp.3, exp.2)
  [1] "`exp.2[[1]][[3]]` should be a call to `fun` (is \"double\")"
   2/14 alike.R: exp.4 <- expression(1 + 1, 2 + x)
   2/14 alike.R: exp.5 <- expression(1 + 1, 5 + y)
   2/14 alike.R: exp.6 <- expression(1 + 1, 2 + 2)
   2/14 alike.R: alike(exp.4, exp.5)
  [1] TRUE
   2/14 alike.R: alike(exp.4, exp.6)
  [1] "`exp.6[[2]][[3]]` should be \"symbol\" (is \"double\")"
   2/14 alike.R: alike(quote(x), quote(y))
  [1] TRUE
   2/14 alike.R: alike(NULL, quote(x))
  [1] "`quote(x)` should be `NULL` (is \"symbol\")"
   2/14 alike.R: alike(quote((NULL)), quote(y))
  [1] TRUE
   2/14 alike.R: alike(quote(NULL), quote(x))
  [1] "`quote(x)` should be `NULL` (is \"symbol\")"
   2/14 alike.R: alike(quote(x), c0)
  [1] "`c0` should be \"symbol\" (is \"language\")"
   2/14 alike.R: alike(c0, quote(x))
  [1] "`quote(x)` should be a call to `fun` (is \"symbol\")"
   2/14 alike.R: alike(quote((x)), quote(y))
  [1] TRUE
   2/14 alike.R: unitizer_sect("Functions", {
   2/14 alike.R: alike(print, print.data.frame)
  [1] TRUE
   2/14 alike.R: alike(print.data.frame, print)
  [1] "`print` should have argument `digits` after argument `...`"
   2/14 alike.R: alike(`&&`, function() NULL)
  [1] TRUE
   2/14 alike.R: fun <- fun2 <- function() NULL
   2/14 alike.R: attributes(fun2) <- NULL
   2/14 alike.R: alike(fun, fun2)
  [1] TRUE
   2/14 alike.R: alike(fun, fun2, settings = vetr_settings(attr.mode = 2L))
  [1] "`fun2` should have attribute \"srcref\""
   2/14 alike.R: alike(fun2, fun, settings = vetr_settings(attr.mode = 1L))
  [1] TRUE
   2/14 alike.R: alike(fun2, fun, settings = vetr_settings(attr.mode = 2L))
  [1] "`fun` should not have attribute \"srcref\""
   2/14 alike.R: unitizer_sect("settings", {
   2/14 alike.R: alike(1L, 1, settings = vetr_settings(type.mode = 1L))
  [1] "`1` should be type \"integer\" (is \"double\")"
   2/14 alike.R: alike(1, 1L, settings = vetr_settings(type.mode = 1L))
  [1] TRUE
   2/14 alike.R: alike(1, 1L, settings = vetr_settings(type.mode = 2L))
  [1] "`1L` should be type \"double\" (is \"integer\")"
   2/14 alike.R: alike(1:101, 1:101 + 0)
  [1] "`1:101 + 0` should be type \"integer\" (is \"double\")"
   2/14 alike.R: alike(1:101, 1:101 + 0, settings = vetr_settings(fuzzy.int.max.le
  [1] TRUE
   2/14 alike.R: alike(1:101, 1:101 + 0, settings = vetr_settings(fuzzy.int.max.le
  [1] TRUE
   2/14 alike.R: alike(list(a = 1:10), data.frame(a = 1:10))
  [1] TRUE
   2/14 alike.R: alike(list(a = 1:10), data.frame(a = 1:10), settings = vetr_setti
  [1] TRUE
   2/14 alike.R: alike(list(a = 1:10), data.frame(a = 1:10), settings = vetr_setti
  [1] "`data.frame(a = 1:10)` should not have attribute \"class\""
   2/14 alike.R: fun <- function(a, b, c) NULL
   2/14 alike.R: call.a <- quote(fun(b = fun2(x, y), 1, 3))
   2/14 alike.R: call.b <- quote(fun(NULL, fun2(a, b), 1))
   2/14 alike.R: alike(call.a, call.b, settings = vetr_settings(env = emptyenv()))
  [1] "`call.b` should have argument `b` as first argument (has unnamed argument)"
   2/14 alike.R: alike(call.a, call.b, env = emptyenv())
  [1] "`call.b` should have argument `b` as first argument (has unnamed argument)"
   2/14 alike.R: alike(call.a, call.b, env = emptyenv(), settings = vetr_settings(
  [1] TRUE
   2/14 alike.R: alike(call.a, call.b)
  [1] TRUE
   2/14 alike.R: alike(`&&`, function() NULL, settings = vetr_settings(type.mode =
  [1] "`function() NULL` should be type \"special\" (is \"closure\")"
   2/14 alike.R: alike(1, 2, settings = letters)
  Error in alike(1, 2, settings = letters) : 
    `vet/vetr` usage error: argument `settings` must be a list or NULL (is character).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(1, 2, settings = list())
  Error in alike(1, 2, settings = list()) : 
    `vet/vetr` usage error: `settings` must be a list of length 16.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(1, 2, settings = setNames(vector("list", 16), letters[1:16]
  Error in alike(1, 2, settings = setNames(vector("list", 16), letters[1:16])) : 
    `vet/vetr` usage error: argument `settings` names are not in format  produced by `vetr_settings`.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(1, 2, settings = vector("list", 16))
  Error in alike(1, 2, settings = vector("list", 16)) : 
    `vet/vetr` usage error: argument `settings` must be a named list as produced by `vetr_settings`.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: unitizer_sect("Examples", {
   2/14 alike.R: alike(1L, 1)
  [1] TRUE
   2/14 alike.R: alike(1L, 1.1)
  [1] "`1.1` should be type \"integer-like\" (is \"double\")"
   2/14 alike.R: alike(1.1, 1L)
  [1] TRUE
   2/14 alike.R: alike(1:100, 1:100 + 0)
  [1] TRUE
   2/14 alike.R: alike(1:101, 1:101 + 0)
  [1] "`1:101 + 0` should be type \"integer\" (is \"double\")"
   2/14 alike.R: alike(integer(1L), 1)
  [1] TRUE
   2/14 alike.R: alike(logical(1L), TRUE)
  [1] TRUE
   2/14 alike.R: alike(integer(1L), 1:3)
  [1] "`length(1:3)` should be 1 (is 3)"
   2/14 alike.R: alike(logical(1L), c(TRUE, TRUE))
  [1] "`length(c(TRUE, TRUE))` should be 1 (is 2)"
   2/14 alike.R: alike(integer(), 1:10)
  [1] TRUE
   2/14 alike.R: alike(1:10, integer())
  [1] "`length(integer())` should be 10 (is 0)"
   2/14 alike.R: alike(list(integer(), list(character(), logical(1L))), list(1:10,
  [1] TRUE
   2/14 alike.R: alike(list(integer(), list(character(), logical(1L))), list(1:10,
  [1] "`length(list(1:10, list(letters, c(TRUE, FALSE)))[[2]][[2]])` should be 1 (is 2)"
   2/14 alike.R: alike(list(NULL, NULL), list(iris, mtcars))
  [1] TRUE
   2/14 alike.R: alike(NULL, mtcars)
  [1] "`mtcars` should be `NULL` (is \"list\")"
   2/14 alike.R: iris.fake <- transform(iris, Species = as.character(Species))
   2/14 alike.R: alike(iris, iris.fake)
  [1] "`iris.fake$Species` should be class \"factor\" (is \"character\")"
   2/14 alike.R: iris.fake2 <- transform(iris, Species = factor(Species, levels = 
   2/14 alike.R: alike(iris, iris.fake2)
  [1] "`levels(iris.fake2$Species)[3]` should be \"virginica\" (is \"americana\")"
   2/14 alike.R: iris.tpl <- abstract(iris)
   2/14 alike.R: str(iris.tpl)
  'data.frame':	0 obs. of  5 variables:
   $ Sepal.Length: num 
   $ Sepal.Width : num 
   $ Petal.Length: num 
   $ Petal.Width : num 
   $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 
   2/14 alike.R: alike(iris.tpl, iris)
  [1] TRUE
   2/14 alike.R: alike(iris.tpl, iris[sample(1:nrow(iris), 10), ])
  [1] TRUE
   2/14 alike.R: alike(iris.tpl, iris[c(2, 1, 3, 4, 5)])
  [1] "`names(iris[c(2, 1, 3, 4, 5)])[1]` should be \"Sepal.Length\" (is \"Sepal.Width\")"
   2/14 alike.R: alike(matrix(integer(), 3, 3), matrix(1:9, nrow = 3))
  [1] TRUE
   2/14 alike.R: alike(matrix(integer(), 3, 3), matrix(runif(9), nrow = 3))
  [1] "`matrix(runif(9), nrow = 3)` should be type \"integer-like\" (is \"double\")"
   2/14 alike.R: alike(matrix(integer(), 3), matrix(1:12, nrow = 3))
  [1] TRUE
   2/14 alike.R: alike(matrix(integer(), 3), matrix(1:12, nrow = 4))
  [1] "`matrix(1:12, nrow = 4)` should have 3 rows (has 4)"
   2/14 alike.R: alike(matrix(logical()), array(rep(TRUE, 8), rep(2, 3)))
  [1] "`array(rep(TRUE, 8), rep(2, 3))` should be \"matrix\" (is \"array\")"
   2/14 alike.R: obj.tpl <- structure(TRUE, class = letters[1:3])
   2/14 alike.R: obj.cur.1 <- structure(TRUE, class = c("x", letters[1:3]))
   2/14 alike.R: obj.cur.2 <- structure(TRUE, class = c(letters[1:3], "x"))
   2/14 alike.R: alike(obj.tpl, obj.cur.1)
  [1] TRUE
   2/14 alike.R: alike(obj.tpl, obj.cur.2)
  [1] "`class(obj.cur.2)[2]` should be \"a\" (is \"b\")"
   2/14 alike.R: alike(quote(x + y), quote(a + b))
  [1] TRUE
   2/14 alike.R: alike(quote(x + y), quote(a - b))
  [1] "`quote(a - b)[[1]]` should be a call to `+` (is a call to `-`)"
   2/14 alike.R: alike(quote(x + y), quote(a + a))
  [1] "`quote(a + a)[[3]]` should not be `a`"
   2/14 alike.R: unitizer_sect("Raw", {
   2/14 alike.R: alike(as.raw(integer(3)), as.raw(integer(3)))
  Warning in alike(as.raw(integer(3)), as.raw(integer(3))) :
    `alike` behavior for objects of type "raw" is not well defined and may change in the future
  [1] TRUE
   2/14 alike.R: unitizer_sect("Errors", {
   2/14 alike.R: alike(NULL, NULL, settings = vetr_settings(type.mode = 3))
  Error in alike(NULL, NULL, settings = vetr_settings(type.mode = 3)) : 
    Setting `type.mode` must be scalar integer between 0 and 2 (is 3).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(NULL, NULL, settings = vetr_settings(attr.mode = letters))
  Error in alike(NULL, NULL, settings = vetr_settings(attr.mode = letters)) : 
    Setting `attr.mode` must be integer-like (is character).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(NULL, NULL, settings = vetr_settings(lang.mode = letters))
  Error in alike(NULL, NULL, settings = vetr_settings(lang.mode = letters)) : 
    Setting `lang.mode` must be integer-like (is character).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(NULL, NULL, settings = vetr_settings(fuzzy.int.max.len = NA
  Error in alike(NULL, NULL, settings = vetr_settings(fuzzy.int.max.len = NA_integer_)) : 
    Setting `fuzzy.int.max.len` may not be NA.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(NULL, NULL, settings = vetr_settings(suppress.warnings = NA
  Error in alike(NULL, NULL, settings = vetr_settings(suppress.warnings = NA)) : 
    `vet/vetr` usage error: setting `suppress.warnings` must be TRUE or FALSE
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(NULL, NULL, settings = vetr_settings(env = letters))
  Error in alike(NULL, NULL, settings = vetr_settings(env = letters)) : 
    `ver/vetr` usage error: setting `env` must be an environment or NULL
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(NULL, NULL, settings = vetr_settings(width = letters))
  Error in alike(NULL, NULL, settings = vetr_settings(width = letters)) : 
    Setting `width` must be integer-like (is character).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> alike
   2/14 alike.R: alike(NULL, NULL, settings = vetr_settings(env.depth.max = -1L))
  [1] TRUE
   2/14 alike.R: unitizer_sect("Attributes", {
   2/14 alike.R: obj.tpl <- structure(integer(), a = integer())
   2/14 alike.R: obj.obj <- structure(1:10, a = 1:3)
   2/14 alike.R: alike(obj.tpl, obj.obj)
  [1] TRUE
   2/14 alike.R: obj.tpl.a <- structure(integer(), class = "foo")
   2/14 alike.R: obj.obj.a <- structure(matrix(1:3))
   2/14 alike.R: alike(obj.tpl.a, obj.obj.a)
  [1] "`obj.obj.a` should be class \"foo\" (is \"integer\")"
   2/14 alike.R: obj.tpl.b <- structure(matrix(integer()), class = "foo")
   2/14 alike.R: obj.obj.b <- structure(matrix(1:3))
   2/14 alike.R: alike(obj.tpl.b, obj.obj.b)
  [1] "`obj.obj.b` should be class \"foo\" (is \"integer\")"
   2/14 alike.R: obj.tpl.c <- structure(matrix(integer()), class = "foo")
   2/14 alike.R: obj.obj.c <- structure(matrix(1:3), class = "foo")
   2/14 alike.R: alike(obj.tpl.c, obj.obj.c)
  [1] TRUE
   2/14 alike.R: obj.tpl.d <- structure(integer(), class = "foo")
   2/14 alike.R: obj.obj.d <- structure(matrix(1:3), class = "foo")
   2/14 alike.R: alike(obj.tpl.d, obj.obj.d)
  [1] TRUE
   2/14 alike.R: obj.tpl.e <- structure(integer())
   2/14 alike.R: obj.obj.e <- structure(matrix(1:3), class = "foo")
   2/14 alike.R: alike(obj.tpl.e, obj.obj.e)
  [1] TRUE
   2/14 alike.R: obj.tpl.f <- structure(integer(), a = integer())
   2/14 alike.R: obj.obj.f <- structure(matrix(1:3), z = integer(), class = "foo")
   2/14 alike.R: alike(obj.tpl.f, obj.obj.f)
  [1] "`obj.obj.f` should have attribute \"a\""
   2/14 alike.R: obj.tpl.g <- structure(integer(), a = integer())
   2/14 alike.R: obj.obj.g <- structure(matrix(1:3), z = integer(), class = "foo")
   2/14 alike.R: alike(obj.tpl.g, obj.obj.g)
  [1] "`obj.obj.g` should have attribute \"a\""
   2/14 alike.R: obj.tpl.h <- structure(matrix(integer()))
   2/14 alike.R: obj.obj.h <- structure(1:3, a = integer())
   2/14 alike.R: alike(obj.tpl.h, obj.obj.h)
  [1] "`obj.obj.h` should be \"matrix\" (is \"integer\")"
   2/14 alike.R: alike(obj.tpl.h, obj.obj.h, settings = vetr_settings(attr.mode = 
  [1] "`obj.obj.h` should have attribute \"dim\""
   2/14 alike.R: obj.tpl.i <- structure(character(), a = integer(), class = "boo")
   2/14 alike.R: obj.obj.i <- structure(matrix(1:3))
   2/14 alike.R: alike(obj.tpl.i, obj.obj.i)
  [1] "`obj.obj.i` should be class \"boo\" (is \"integer\")"
   2/14 alike.R: obj.tpl.k <- integer()
   2/14 alike.R: obj.obj.k <- matrix(1:3)
   2/14 alike.R: alike(obj.tpl.k, obj.obj.k)
  [1] TRUE
   2/14 alike.R: alike(obj.tpl.k, obj.obj.k, settings = vetr_settings(attr.mode = 
  [1] "`obj.obj.k` should not have attribute \"dim\""
  
   3/14 all-bw.R: 
   3/14 all-bw.R: library(vetr)
   3/14 all-bw.R: set.seed(42)
   3/14 all-bw.R: x <- runif(100)
   3/14 all-bw.R: x[1] <- 1
   3/14 all-bw.R: x[2] <- 0
   3/14 all-bw.R: unitizer_sect("all_bw - real", {
   3/14 all-bw.R: all_bw(x, 0, 1)
  [1] TRUE
   3/14 all-bw.R: all_bw(x, 0, 1, bounds = "[)")
  [1] "`1` at index 1 not in `[0,1)`"
   3/14 all-bw.R: all_bw(x, 0, 1, bounds = "(]")
  [1] "`0` at index 2 not in `(0,1]`"
   3/14 all-bw.R: all_bw(x, 0, 1, bounds = "()")
  [1] "`1` at index 1 not in `(0,1)`"
   3/14 all-bw.R: all_bw(x, 0, 1 + 1e-06, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(x, 0 - 1e-06, 1, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(x, 0 - 1e-06, 1 + 1e-06, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: y <- z <- x
   3/14 all-bw.R: y[50] <- NA
   3/14 all-bw.R: z[50] <- NaN
   3/14 all-bw.R: all_bw(y, 0, 1)
  [1] "`NA` at index 50 not in `[0,1]`"
   3/14 all-bw.R: all_bw(y, 0, 1, na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(y, 0.5, 0.75, na.rm = TRUE)
  [1] "`1` at index 1 not in `[0.500000,0.750000]`"
   3/14 all-bw.R: all_bw(y, -1, 2, na.rm = TRUE, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: all_bw(y, 0, 1, na.rm = TRUE, bounds = "()")
  [1] "`1` at index 1 not in `(0,1)`"
   3/14 all-bw.R: all_bw(y, 0 - 1e-06, 1, na.rm = TRUE, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(y, 0, 1, na.rm = TRUE, bounds = "(]")
  [1] "`0` at index 2 not in `(0,1]`"
   3/14 all-bw.R: all_bw(y, 0, 1 + 1e-06, na.rm = TRUE, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(y, 0, 1, na.rm = TRUE, bounds = "[)")
  [1] "`1` at index 1 not in `[0,1)`"
   3/14 all-bw.R: all_bw(z, 0, 1)
  [1] "`NaN` at index 50 not in `[0,1]`"
   3/14 all-bw.R: all_bw(z, 0, 1, na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(z)
  [1] "`NaN` at index 50 not in `[-Inf,Inf]`"
   3/14 all-bw.R: all_bw(z, na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: w <- runif(1000, -1000, 1000)
   3/14 all-bw.R: all_bw(w, -1000, 1000)
  [1] TRUE
   3/14 all-bw.R: all_bw(w, -1500, 500)
  [1] "`813.406915` at index 1 not in `[-1500,500]`"
   3/14 all-bw.R: all_bw(w, -500, 1500)
  [1] "`-681.421638` at index 12 not in `[-500,1500]`"
   3/14 all-bw.R: unitizer_sect("corner cases - real", {
   3/14 all-bw.R: all_bw(x, 0, 0)
  [1] "`1` at index 1 not in `[0,0]`"
   3/14 all-bw.R: all_bw(0, 0, 0)
  [1] TRUE
   3/14 all-bw.R: all_bw(0, 0, 0, bounds = "()")
  [1] "`0` at index 1 not in `(0,0)`"
   3/14 all-bw.R: all_bw(NA_real_)
  [1] "`NA` at index 1 not in `[-Inf,Inf]`"
   3/14 all-bw.R: all_bw(NA_real_, bounds = "()")
  [1] "`NA` at index 1 not in `(-Inf,Inf)`"
   3/14 all-bw.R: all_bw(numeric(), 0, 1)
  [1] TRUE
   3/14 all-bw.R: all_bw(numeric(), 0, 0, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: unitizer_sect("Infinity - real", {
   3/14 all-bw.R: n1e100 <- 1e+100
   3/14 all-bw.R: n_1e100 <- -1e+100
   3/14 all-bw.R: n2e100 <- 2e+100
   3/14 all-bw.R: n_2e100 <- -2e+100
   3/14 all-bw.R: n11e100 <- 1.1e+100
   3/14 all-bw.R: n_11e100 <- -1.1e+100
   3/14 all-bw.R: n1e200 <- 1e+200
   3/14 all-bw.R: n_1e200 <- -1e+200
   3/14 all-bw.R: z <- runif(100, n_1e100, n1e100)
   3/14 all-bw.R: z[1] <- n_1e100
   3/14 all-bw.R: z[2] <- n1e100
   3/14 all-bw.R: r <- w <- v <- u <- x <- z
   3/14 all-bw.R: all_bw(z, -Inf, n1e100)
  [1] TRUE
   3/14 all-bw.R: all_bw(z, -Inf, n1e100, bounds = "[)")
  [1] "`1.000000e+100` at index 2 not in `[-Inf,1.000000e+100)`"
   3/14 all-bw.R: all_bw(z, -Inf, n1e100, bounds = "()")
  [1] "`1.000000e+100` at index 2 not in `(-Inf,1.000000e+100)`"
   3/14 all-bw.R: all_bw(z, -Inf, n1e100, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(c(z, n2e100), -Inf, n1e100, bounds = "(]")
  [1] "`2.000000e+100` at index 101 not in `(-Inf,1.000000e+100]`"
   3/14 all-bw.R: all_bw(z, -Inf, n11e100, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(z, -Inf, n11e100, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: all_bw(z, n_1e100, Inf)
  [1] TRUE
   3/14 all-bw.R: all_bw(z, n_1e100, Inf, bounds = "(]")
  [1] "`-1.000000e+100` at index 1 not in `(-1.000000e+100,Inf]`"
   3/14 all-bw.R: all_bw(z, n_1e100, Inf, bounds = "()")
  [1] "`-1.000000e+100` at index 1 not in `(-1.000000e+100,Inf)`"
   3/14 all-bw.R: all_bw(z, n_1e100, Inf, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(c(z, n_2e100), n_1e100, Inf, bounds = "[)")
  [1] "`-2.000000e+100` at index 101 not in `[-1.000000e+100,Inf)`"
   3/14 all-bw.R: all_bw(z, n_11e100, Inf, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(z, n_11e100, Inf, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: r[50] <- NA_real_
   3/14 all-bw.R: all_bw(r, -Inf, n1e100)
  [1] "`NA` at index 50 not in `[-Inf,1.000000e+100]`"
   3/14 all-bw.R: all_bw(r, -Inf, n1e100, bounds = "[)")
  [1] "`1.000000e+100` at index 2 not in `[-Inf,1.000000e+100)`"
   3/14 all-bw.R: all_bw(r, -Inf, n1e100, bounds = "()")
  [1] "`1.000000e+100` at index 2 not in `(-Inf,1.000000e+100)`"
   3/14 all-bw.R: all_bw(r, -Inf, n1e100, bounds = "(]")
  [1] "`NA` at index 50 not in `(-Inf,1.000000e+100]`"
   3/14 all-bw.R: all_bw(r, -Inf, n11e100, bounds = "[)")
  [1] "`NA` at index 50 not in `[-Inf,1.100000e+100)`"
   3/14 all-bw.R: all_bw(r, -Inf, n11e100, bounds = "()")
  [1] "`NA` at index 50 not in `(-Inf,1.100000e+100)`"
   3/14 all-bw.R: all_bw(r, n_1e100, Inf)
  [1] "`NA` at index 50 not in `[-1.000000e+100,Inf]`"
   3/14 all-bw.R: all_bw(r, n_1e100, Inf, bounds = "(]")
  [1] "`-1.000000e+100` at index 1 not in `(-1.000000e+100,Inf]`"
   3/14 all-bw.R: all_bw(r, n_1e100, Inf, bounds = "()")
  [1] "`-1.000000e+100` at index 1 not in `(-1.000000e+100,Inf)`"
   3/14 all-bw.R: all_bw(r, n_1e100, Inf, bounds = "[)")
  [1] "`NA` at index 50 not in `[-1.000000e+100,Inf)`"
   3/14 all-bw.R: all_bw(r, n_11e100, Inf, bounds = "(]")
  [1] "`NA` at index 50 not in `(-1.100000e+100,Inf]`"
   3/14 all-bw.R: all_bw(r, n_11e100, Inf, bounds = "()")
  [1] "`NA` at index 50 not in `(-1.100000e+100,Inf)`"
   3/14 all-bw.R: all_bw(r, -Inf, n1e100, na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r, -Inf, n1e100, bounds = "[)", na.rm = TRUE)
  [1] "`1.000000e+100` at index 2 not in `[-Inf,1.000000e+100)`"
   3/14 all-bw.R: all_bw(r, -Inf, n1e100, bounds = "()", na.rm = TRUE)
  [1] "`1.000000e+100` at index 2 not in `(-Inf,1.000000e+100)`"
   3/14 all-bw.R: all_bw(r, -Inf, n1e100, bounds = "(]", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r, -Inf, n11e100, bounds = "[)", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r, -Inf, n11e100, bounds = "()", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r, n_1e100, Inf, na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r, n_1e100, Inf, bounds = "(]", na.rm = TRUE)
  [1] "`-1.000000e+100` at index 1 not in `(-1.000000e+100,Inf]`"
   3/14 all-bw.R: all_bw(r, n_1e100, Inf, bounds = "()", na.rm = TRUE)
  [1] "`-1.000000e+100` at index 1 not in `(-1.000000e+100,Inf)`"
   3/14 all-bw.R: all_bw(r, n_1e100, Inf, bounds = "[)", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r, n_11e100, Inf, bounds = "(]", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r, n_11e100, Inf, bounds = "()", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(c(r, n2e100), -Inf, n1e100, na.rm = TRUE)
  [1] "`2.000000e+100` at index 101 not in `[-Inf,1.000000e+100]`"
   3/14 all-bw.R: all_bw(c(r, n_2e100), n_1e100, Inf, na.rm = TRUE)
  [1] "`-2.000000e+100` at index 101 not in `[-1.000000e+100,Inf]`"
   3/14 all-bw.R: all_bw(z, -Inf, Inf)
  [1] TRUE
   3/14 all-bw.R: u[50] <- -Inf
   3/14 all-bw.R: all_bw(u, n_1e200, n1e200)
  [1] "`-Inf` at index 50 not in `[-1.000000e+200,1.000000e+200]`"
   3/14 all-bw.R: v[50] <- Inf
   3/14 all-bw.R: all_bw(v, n_1e200, n1e200)
  [1] "`Inf` at index 50 not in `[-1.000000e+200,1.000000e+200]`"
   3/14 all-bw.R: w[50] <- -Inf
   3/14 all-bw.R: w[51] <- Inf
   3/14 all-bw.R: all_bw(w, -Inf, Inf)
  [1] TRUE
   3/14 all-bw.R: all_bw(w, -Inf, Inf, bounds = "[)")
  [1] "`Inf` at index 51 not in `[-Inf,Inf)`"
   3/14 all-bw.R: all_bw(w, -Inf, Inf, bounds = "(]")
  [1] "`-Inf` at index 50 not in `(-Inf,Inf]`"
   3/14 all-bw.R: x.int <- sample(-50:50)
   3/14 all-bw.R: unitizer_sect("all_bw - int", {
   3/14 all-bw.R: all_bw(x.int, -50, 50)
  [1] TRUE
   3/14 all-bw.R: all_bw(x.int, -50L, 50L)
  [1] TRUE
   3/14 all-bw.R: all_bw(x.int, -50, 50, bounds = "[)")
  [1] "`50` at index 96 not in `[-50,50)`"
   3/14 all-bw.R: all_bw(x.int, -50, 50, bounds = "(]")
  [1] "`-50` at index 37 not in `(-50,50]`"
   3/14 all-bw.R: all_bw(x.int, -50, 50, bounds = "()")
  [1] "`-50` at index 37 not in `(-50,50)`"
   3/14 all-bw.R: all_bw(x.int, -50, 50 + 1e-06, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(x.int, -50 - 1e-06, 50, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(x.int, -50 - 1e-06, 50 + 1e-06, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: y.int <- z.int <- x.int
   3/14 all-bw.R: y.int[50] <- NA
   3/14 all-bw.R: all_bw(y.int, -50, 50)
  [1] "`NA` at index 50 not in `[-50,50]`"
   3/14 all-bw.R: all_bw(y.int, -50, 50, na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(y.int, -49.5, 49.5, na.rm = TRUE)
  [1] "`-50` at index 37 not in `[-49.500000,49.500000]`"
   3/14 all-bw.R: all_bw(y.int, -51, 51, na.rm = TRUE, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: all_bw(y.int, -50.5, 50.5, na.rm = TRUE, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: all_bw(y.int, -50, 50, na.rm = TRUE, bounds = "()")
  [1] "`-50` at index 37 not in `(-50,50)`"
   3/14 all-bw.R: all_bw(y.int, -50 - 1e-06, 50, na.rm = TRUE, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(y.int, -50, 50, na.rm = TRUE, bounds = "(]")
  [1] "`-50` at index 37 not in `(-50,50]`"
   3/14 all-bw.R: all_bw(y.int, -50, 50 + 1e-06, na.rm = TRUE, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(y.int, -50, 50, na.rm = TRUE, bounds = "[)")
  [1] "`50` at index 96 not in `[-50,50)`"
   3/14 all-bw.R: unitizer_sect("corner cases - int", {
   3/14 all-bw.R: all_bw(x.int, 0, 0)
  [1] "`-12` at index 1 not in `[0,0]`"
   3/14 all-bw.R: all_bw(0L, 0, 0)
  [1] TRUE
   3/14 all-bw.R: all_bw(0L, 0, 0, bounds = "()")
  [1] "`0` at index 1 not in `(0,0)`"
   3/14 all-bw.R: all_bw(NA_integer_)
  [1] "`NA` at index 1 not in `[-Inf,Inf]`"
   3/14 all-bw.R: all_bw(NA)
  [1] "`NA` at index 1 not in `[-Inf,Inf]`"
   3/14 all-bw.R: unitizer_sect("Infinity - int", {
   3/14 all-bw.R: int.max <- (Reduce(`*`, rep(2L, 30L)) - 1L) * 2L + 1L
   3/14 all-bw.R: int.min <- -int.max
   3/14 all-bw.R: z.int <- x.int
   3/14 all-bw.R: z.int[1] <- int.max
   3/14 all-bw.R: z.int[2] <- int.min
   3/14 all-bw.R: r.int <- w.int <- v.int <- u.int <- x.int <- z.int
   3/14 all-bw.R: all_bw(z.int, -Inf, int.max)
  [1] TRUE
   3/14 all-bw.R: all_bw(z.int, -Inf, int.max, bounds = "[)")
  [1] "`2147483647` at index 1 not in `[-Inf,2147483647)`"
   3/14 all-bw.R: all_bw(z.int, -Inf, int.max, bounds = "()")
  [1] "`2147483647` at index 1 not in `(-Inf,2147483647)`"
   3/14 all-bw.R: all_bw(z.int, -Inf, int.max, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(z.int, -Inf, int.max - 1L, bounds = "(]")
  [1] "`2147483647` at index 1 not in `(-Inf,2147483646]`"
   3/14 all-bw.R: all_bw(z.int, int.min - 1, int.max + 1)
  [1] TRUE
   3/14 all-bw.R: all_bw(z.int, int.min - 1, int.max + 1, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: all_bw(int.max - 1L, -Inf, int.max, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: all_bw(z.int, int.min, Inf)
  [1] TRUE
   3/14 all-bw.R: all_bw(z.int, int.min, Inf, bounds = "(]")
  [1] "`-2147483647` at index 2 not in `(-2147483647,Inf]`"
   3/14 all-bw.R: all_bw(z.int, int.min, Inf, bounds = "()")
  [1] "`-2147483647` at index 2 not in `(-2147483647,Inf)`"
   3/14 all-bw.R: all_bw(z.int, int.min, Inf, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(z.int, int.min + 1L, Inf, bounds = "[)")
  [1] "`-2147483647` at index 2 not in `[-2147483646,Inf)`"
   3/14 all-bw.R: r.int[50] <- NA_integer_
   3/14 all-bw.R: all_bw(r.int, -Inf, int.max)
  [1] "`NA` at index 50 not in `[-Inf,2147483647]`"
   3/14 all-bw.R: all_bw(r.int, -Inf, int.max, bounds = "[)")
  [1] "`2147483647` at index 1 not in `[-Inf,2147483647)`"
   3/14 all-bw.R: all_bw(r.int, -Inf, int.max, bounds = "()")
  [1] "`2147483647` at index 1 not in `(-Inf,2147483647)`"
   3/14 all-bw.R: all_bw(r.int, -Inf, int.max, bounds = "(]")
  [1] "`NA` at index 50 not in `(-Inf,2147483647]`"
   3/14 all-bw.R: all_bw(r.int, -Inf, int.max - 10, bounds = "(]")
  [1] "`2147483647` at index 1 not in `(-Inf,2147483637]`"
   3/14 all-bw.R: all_bw(z.int, -Inf, int.max - 1L, bounds = "(]", na.rm = TRUE)
  [1] "`2147483647` at index 1 not in `(-Inf,2147483646]`"
   3/14 all-bw.R: all_bw(c(int.max - 1L, NA), -Inf, int.max, bounds = "()", na.rm 
  [1] TRUE
   3/14 all-bw.R: all_bw(r.int, int.min, Inf)
  [1] "`NA` at index 50 not in `[-2147483647,Inf]`"
   3/14 all-bw.R: all_bw(r.int, int.min, Inf, bounds = "(]")
  [1] "`-2147483647` at index 2 not in `(-2147483647,Inf]`"
   3/14 all-bw.R: all_bw(r.int, int.min, Inf, bounds = "()")
  [1] "`-2147483647` at index 2 not in `(-2147483647,Inf)`"
   3/14 all-bw.R: all_bw(r.int, int.min, Inf, bounds = "[)")
  [1] "`NA` at index 50 not in `[-2147483647,Inf)`"
   3/14 all-bw.R: all_bw(r.int, -Inf, int.max, na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r.int, -Inf, int.max, bounds = "[)", na.rm = TRUE)
  [1] "`2147483647` at index 1 not in `[-Inf,2147483647)`"
   3/14 all-bw.R: all_bw(r.int, -Inf, int.max, bounds = "()", na.rm = TRUE)
  [1] "`2147483647` at index 1 not in `(-Inf,2147483647)`"
   3/14 all-bw.R: all_bw(r.int, -Inf, int.max, bounds = "(]", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r.int, int.min + 10, Inf, bounds = "[)", na.rm = TRUE)
  [1] "`-2147483647` at index 2 not in `[-2147483637,Inf)`"
   3/14 all-bw.R: all_bw(r.int, int.min, Inf, na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(r.int, int.min, Inf, bounds = "(]", na.rm = TRUE)
  [1] "`-2147483647` at index 2 not in `(-2147483647,Inf]`"
   3/14 all-bw.R: all_bw(r.int, int.min, Inf, bounds = "()", na.rm = TRUE)
  [1] "`-2147483647` at index 2 not in `(-2147483647,Inf)`"
   3/14 all-bw.R: all_bw(r.int, int.min, Inf, bounds = "[)", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: unitizer_sect("error", {
   3/14 all-bw.R: all_bw(x, 0, -1)
  Error in all_bw(x, 0, -1) : 
    Argument `hi` (-1) must be greater than or equal to `lo` (0).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, na.rm = 1)
  Error in all_bw(x, -1, 1, na.rm = 1) : 
    Argument `na_rm` must be logical (is double).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, na.rm = c(TRUE, FALSE))
  Error in all_bw(x, -1, 1, na.rm = c(TRUE, FALSE)) : 
    Argument `na_rm` must be length 1 (is 2).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, na.rm = NA)
  Error in all_bw(x, -1, 1, na.rm = NA) : 
    Argument `na_rm` must be TRUE or FALSE (is NA).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, bounds = TRUE)
  Error in all_bw(x, -1, 1, bounds = TRUE) : 
    Argument `bounds` must be character (is logical).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, bounds = letters)
  Error in all_bw(x, -1, 1, bounds = letters) : 
    Argument `bounds` must be length 1 (is 26).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, bounds = "[[")
  Error in all_bw(x, -1, 1, bounds = "[[") : 
    Argument `bounds` must be character(1L) in "[]", "[)", "(]", "()"
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, bounds = "))")
  Error in all_bw(x, -1, 1, bounds = "))") : 
    Argument `bounds` must be character(1L) in "[]", "[)", "(]", "()"
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, bounds = "[")
  Error in all_bw(x, -1, 1, bounds = "[") : 
    Argument `bounds` must be character(1L) in "[]", "[)", "(]", "()"
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, bounds = "[.]")
  Error in all_bw(x, -1, 1, bounds = "[.]") : 
    Argument `bounds` must be character(1L) in "[]", "[)", "(]", "()"
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, -1, 1, bounds = NA_character_)
  Error in all_bw(x, -1, 1, bounds = NA_character_) : 
    Argument `bounds` may not be NA.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, 1:3, 4)
  Error in all_bw(x, 1:3, 4) : Argument `lo` must be length 1 (is 3).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, 1, 4:5)
  Error in all_bw(x, 1, 4:5) : Argument `hi` must be length 1 (is 2).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(list(), 1, 2)
  Error in all_bw(list(), 1, 2) : 
    Argument `x` must be numeric-like or character (is list).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, list(), 2)
  Error in all_bw(x, list(), 2) : Argument `lo` must be length 1 (is 0).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, 1, list())
  Error in all_bw(x, 1, list()) : Argument `hi` must be length 1 (is 0).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, list(1), 2)
  Error in all_bw(x, list(1), 2) : 
    Argument `lo` must be logical, integer, numeric, or character (is list).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, 1, list(1))
  Error in all_bw(x, 1, list(1)) : 
    Argument `hi` must be logical, integer, numeric, or character (is list).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, "a", 1)
  Error in all_bw(x, "a", 1) : 
    Argument `x` is numeric-like, but `lo` is character.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(x, 1, "a")
  Error in all_bw(x, 1, "a") : 
    Argument `x` is numeric-like, but `hi` is character.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: unitizer_sect("all_bw - strings", {
   3/14 all-bw.R: two.let <- two.let.na <- two.let.inf <- c(letters, do.call(paste
   3/14 all-bw.R: all_bw(letters, "a", "z")
  [1] TRUE
   3/14 all-bw.R: all_bw(letters, "z", "a")
  Error in all_bw(letters, "z", "a") : 
    Argument `hi` (z) must be greater than or equal to `lo` (a).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> all_bw
   3/14 all-bw.R: all_bw(letters, "a", "z", bounds = "[)")
  [1] "`\"z\"` at index 26 not in `[\"a\",\"z\")`"
   3/14 all-bw.R: all_bw(letters, "a", "z", bounds = "(]")
  [1] "`\"a\"` at index 1 not in `(\"a\",\"z\"]`"
   3/14 all-bw.R: all_bw(two.let, "aa", "zz")
  [1] "`\"a\"` at index 1 not in `[\"aa\",\"zz\"]`"
   3/14 all-bw.R: all_bw(two.let, "a", "zz")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, "a", "zz", bounds = "()")
  [1] "`\"a\"` at index 1 not in `(\"a\",\"zz\")`"
   3/14 all-bw.R: all_bw("A", "a", "z", bounds = "(]")
  [1] "`\"A\"` at index 1 not in `(\"a\",\"z\"]`"
   3/14 all-bw.R: two.let.2 <- tail(head(two.let, -1), -1)
   3/14 all-bw.R: all_bw(two.let.2, "a", "zz", bounds = "()")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.2, "a", "zz", bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.2, "a", "zz", bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: two.let.2[50] <- NA_character_
   3/14 all-bw.R: all_bw(two.let.2, "a", "zz", bounds = "()", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.2, "a", "zz", bounds = "[)", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.2, "a", "zz", bounds = "(]", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, -Inf, Inf, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, -Inf, Inf, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, -Inf, Inf, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, -Inf, Inf, bounds = "[]")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, "a", Inf, bounds = "()")
  [1] "`\"a\"` at index 1 not in `(\"a\",Inf)`"
   3/14 all-bw.R: all_bw(two.let, "a", Inf, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, "a", Inf, bounds = "(]")
  [1] "`\"a\"` at index 1 not in `(\"a\",Inf]`"
   3/14 all-bw.R: all_bw(two.let, "a", Inf, bounds = "[]")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, "\t", Inf, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, -Inf, "zz", bounds = "()")
  [1] "`\"zz\"` at index 702 not in `(-Inf,\"zz\")`"
   3/14 all-bw.R: all_bw(two.let, -Inf, "zz", bounds = "[)")
  [1] "`\"zz\"` at index 702 not in `[-Inf,\"zz\")`"
   3/14 all-bw.R: all_bw(two.let, -Inf, "zz", bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let, -Inf, "zz", bounds = "[]")
  [1] TRUE
   3/14 all-bw.R: two.let.inf[1] <- Inf
   3/14 all-bw.R: two.let.inf[2] <- -Inf
   3/14 all-bw.R: all_bw(two.let.inf, -Inf, Inf, bounds = "()")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.inf, -Inf, Inf, bounds = "[)")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.inf, -Inf, Inf, bounds = "(]")
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.inf, -Inf, Inf, bounds = "[]")
  [1] TRUE
   3/14 all-bw.R: two.let.na[50] <- NA_character_
   3/14 all-bw.R: all_bw(two.let.na, "a", "zz", bounds = "()")
  [1] "`\"a\"` at index 1 not in `(\"a\",\"zz\")`"
   3/14 all-bw.R: all_bw(two.let.na, "a", "zz", bounds = "[)")
  [1] "`\"NA\"` at index 50 not in `[\"a\",\"zz\")`"
   3/14 all-bw.R: all_bw(two.let.na, "a", "zz", bounds = "(]")
  [1] "`\"a\"` at index 1 not in `(\"a\",\"zz\"]`"
   3/14 all-bw.R: all_bw(two.let.na, "a", "zz", bounds = "[]")
  [1] "`\"NA\"` at index 50 not in `[\"a\",\"zz\"]`"
   3/14 all-bw.R: all_bw(two.let.na, -Inf, Inf, bounds = "[]")
  [1] "`\"NA\"` at index 50 not in `[-Inf,Inf]`"
   3/14 all-bw.R: all_bw(two.let.na, "a", "zz", bounds = "()", na.rm = TRUE)
  [1] "`\"a\"` at index 1 not in `(\"a\",\"zz\")`"
   3/14 all-bw.R: all_bw(two.let.na, "a", "zz", bounds = "[)", na.rm = TRUE)
  [1] "`\"zz\"` at index 702 not in `[\"a\",\"zz\")`"
   3/14 all-bw.R: all_bw(two.let.na, "a", "zz", bounds = "(]", na.rm = TRUE)
  [1] "`\"a\"` at index 1 not in `(\"a\",\"zz\"]`"
   3/14 all-bw.R: all_bw(two.let.na, "a", "zz", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.na, "b", "zy", na.rm = TRUE)
  [1] "`\"a\"` at index 1 not in `[\"b\",\"zy\"]`"
   3/14 all-bw.R: all_bw(two.let.na, -Inf, "zz", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.na, -Inf, "zy", na.rm = TRUE)
  [1] "`\"zz\"` at index 702 not in `[-Inf,\"zy\"]`"
   3/14 all-bw.R: all_bw(two.let.na, -Inf, "zy")
  [1] "`\"NA\"` at index 50 not in `[-Inf,\"zy\"]`"
   3/14 all-bw.R: all_bw(two.let.na, -Inf, "zzz", bounds = "[)", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.na, -Inf, "zz", bounds = "[)", na.rm = TRUE)
  [1] "`\"zz\"` at index 702 not in `[-Inf,\"zz\")`"
   3/14 all-bw.R: all_bw(two.let.na, -Inf, "zz")
  [1] "`\"NA\"` at index 50 not in `[-Inf,\"zz\"]`"
   3/14 all-bw.R: all_bw(two.let.na, "a", Inf, na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.na, "a", Inf)
  [1] "`\"NA\"` at index 50 not in `[\"a\",Inf]`"
   3/14 all-bw.R: all_bw(two.let.na, "b", Inf, na.rm = TRUE)
  [1] "`\"a\"` at index 1 not in `[\"b\",Inf]`"
   3/14 all-bw.R: all_bw(two.let.na, "\t", Inf, bounds = "(]", na.rm = TRUE)
  [1] TRUE
   3/14 all-bw.R: all_bw(two.let.na, "a", Inf, bounds = "(]", na.rm = TRUE)
  [1] "`\"a\"` at index 1 not in `(\"a\",Inf]`"
   3/14 all-bw.R: all_bw(two.let.na, "a", Inf)
  [1] "`\"NA\"` at index 50 not in `[\"a\",Inf]`"
   3/14 all-bw.R: utf8 <- list(s4 = ("ð\220\200\200"), e4 = ("ô¿¿¿"), s3 = ("à \20
   3/14 all-bw.R: for (i in seq_along(utf8)) Encoding(utf8[[i]]) <- "UTF-8"
   3/14 all-bw.R: all_bw(lorem.ru.phrases, "\t", utf8$e2)
  [1] TRUE
   3/14 all-bw.R: all_bw(lorem.cn.phrases, "\t", utf8$e3)
  [1] TRUE
  
   4/14 classes.R: 
   4/14 classes.R: library(vetr)
   4/14 classes.R: unitizer_sect("Class Matching", {
   4/14 classes.R: obj2 <- structure(numeric())
   4/14 classes.R: obj1 <- structure(numeric(), class = "hello")
   4/14 classes.R: alike(obj1, obj2)
  [1] "`obj2` should be class \"hello\" (is \"numeric\")"
   4/14 classes.R: obj2 <- structure(numeric(), class = c(letters[10:12], letters[
   4/14 classes.R: obj1 <- structure(numeric(), class = letters[1:3])
   4/14 classes.R: alike(obj1, obj2)
  [1] "`class(obj2)[6]` should be \"a\" (is \"c\")"
   4/14 classes.R: alike(obj2, obj1)
  [1] "`class(obj1)[1]` should be \"j\" (is \"a\")"
   4/14 classes.R: obj2 <- structure(numeric(), class = c("b", "a", "c"))
   4/14 classes.R: alike(obj1, obj2)
  [1] "`class(obj2)[1]` should be \"a\" (is \"b\")"
   4/14 classes.R: obj2 <- structure(numeric(), class = c("a", "b", "x", "c"))
   4/14 classes.R: alike(obj1, obj2)
  [1] "`class(obj2)[2]` should be \"a\" (is \"b\")"
   4/14 classes.R: obj2 <- structure(numeric(), class = c("a", "b", "c"))
   4/14 classes.R: alike(obj1, obj2)
  [1] TRUE
   4/14 classes.R: obj2 <- structure(numeric(), class = c("x", "a", "b", "c"))
   4/14 classes.R: alike(obj1, obj2)
  [1] TRUE
   4/14 classes.R: alike(obj1, obj2, settings = vetr_settings(attr.mode = 1))
  [1] "`length(class(obj2))` should be 3 (is 4)"
   4/14 classes.R: unitizer_sect("S4", {
   4/14 classes.R: x <- new("vetr_foo")
   4/14 classes.R: y <- new("vetr_foo")
   4/14 classes.R: z <- new("vetr_bar")
   4/14 classes.R: v <- new("vetr_baz")
   4/14 classes.R: w <- structure(list(a = character(), b = numeric()), class = "v
   4/14 classes.R: alike(x, y)
  [1] TRUE
   4/14 classes.R: alike(x, z)
  [1] "`z` should inherit from S4 class \"vetr_foo\" from pkg:vetr (is \"vetr_bar\" from pkg:vetr)"
   4/14 classes.R: alike(x, w)
  [1] "`w` should be S4"
   4/14 classes.R: alike(w, x)
  [1] "`x` should not be S4"
   4/14 classes.R: alike(x, v)
  [1] TRUE
   4/14 classes.R: alike(v, x)
  [1] "`x` should inherit from S4 class \"vetr_baz\" from pkg:vetr (is \"vetr_foo\" from pkg:vetr)"
   4/14 classes.R: lst.2 <- list(list(11, 21), list(31, list(41, list(51, list(61)
   4/14 classes.R: lst.5 <- lst.6 <- lst.2
   4/14 classes.R: lst.5[[2]][[2]][[1]] <- x
   4/14 classes.R: lst.6[[2]][[2]][[1]] <- v
   4/14 classes.R: alike(lst.5, lst.6)
  [1] TRUE
   4/14 classes.R: alike(lst.6, lst.5)
  [1] "`lst.5[[2]][[2]][[1]]` should inherit from S4 class \"vetr_baz\" from pkg:vetr (is \"vetr_foo\" from pkg:vetr)"
   4/14 classes.R: v2 <- v
   4/14 classes.R: class(v2) <- c("vetr_baz", "vetr_foo")
  Warning in class(v2) <- c("vetr_baz", "vetr_foo") :
    Setting class(x) to multiple strings ("vetr_baz", "vetr_foo", ...); result will no longer be an S4 object
   4/14 classes.R: alike(x, v2)
  [1] "`v2` should be S4"
   4/14 classes.R: inherits <- function(x, y) stop("pwned!!!")
   4/14 classes.R: alike(y, v)
  [1] TRUE
   4/14 classes.R: unitizer_sect("R5", {
   4/14 classes.R: Foo.1 <- vetr:::Foo$new()
   4/14 classes.R: Foo.2 <- vetr:::Foo$new()
   4/14 classes.R: Bar.1 <- vetr:::Bar$new()
   4/14 classes.R: alike(Foo.1, Foo.2)
  [1] TRUE
   4/14 classes.R: alike(Foo.1, Bar.1)
  [1] "`Bar.1` should inherit from S4 class \"Foo\" from pkg:vetr (is \"Bar\" from pkg:vetr)"
   4/14 classes.R: unitizer_sect("Non-Standard Class", {
   4/14 classes.R: var.1 <- list(1, 2, 3)
   4/14 classes.R: var.2 <- list("hello", list(1, 2, 3), 5)
   4/14 classes.R: class(var.1) <- "marbles"
   4/14 classes.R: class(var.2) <- "marbles"
   4/14 classes.R: alike(var.1, var.2)
  [1] "`var.2[[1]]` should be type \"numeric\" (is \"character\")"
  
   5/14 cstringr.R: 
   5/14 cstringr.R: library(vetr)
   5/14 cstringr.R: unitizer_sect("Basic Tests", {
   5/14 cstringr.R: vetr:::len_chr_len(1000L)
  [1] 4
   5/14 cstringr.R: vetr:::len_chr_len(1L)
  [1] 1
   5/14 cstringr.R: vetr:::len_chr_len(1234567890L)
  [1] 10
   5/14 cstringr.R: len0 <- 1.23456789e+24
   5/14 cstringr.R: vetr:::len_chr_len(len0)
  Error in vetr:::len_chr_len(len0) : 
    Argument `maxlen` must be a positive scalar integer
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::len_as_chr(1000L)
  [1] "1000"
   5/14 cstringr.R: vetr:::len_as_chr(1L)
  [1] "1"
   5/14 cstringr.R: vetr:::len_as_chr(1234567890L)
  [1] "1234567890"
   5/14 cstringr.R: vetr:::len_as_chr(len0)
  Error in vetr:::len_as_chr(len0) : 
    Argument `maxlen` must be a positive scalar integer
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: identical(vetr:::strmlen(lorem), nchar(lorem))
  [1] TRUE
   5/14 cstringr.R: vetr:::strmlen(lorem, 100L)
  Error in vetr:::strmlen(lorem, 100L) : 
    Internal Error (CSR_strmlen): failed to find string terminator prior to maxlen 100 characters
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: identical(vetr:::strmcpy(lorem), lorem)
  [1] TRUE
   5/14 cstringr.R: vetr:::strmcpy("")
  [1] ""
   5/14 cstringr.R: vetr:::strmcpy(lorem, 20L)
  Warning in vetr:::strmcpy(lorem, 20L) :
    CSR_strmcpy: truncated string longer than 20
  [1] "Lorem ipsum dolor si"
   5/14 cstringr.R: identical(nchar(vetr:::strmcpy(lorem, 20L)), 20L)
  Warning in vetr:::strmcpy(lorem, 20L) :
    CSR_strmcpy: truncated string longer than 20
  [1] TRUE
   5/14 cstringr.R: vetr:::smprintf2("%s %s", lorem, lorem, 10L)
  Warning in vetr:::smprintf2("%s %s", lorem, lorem, 10L) :
    CSR_strmcpy: truncated string longer than 10
  Warning in vetr:::smprintf2("%s %s", lorem, lorem, 10L) :
    CSR_strmcpy: truncated string longer than 10
  [1] "Lorem ipsu Lorem ipsu"
   5/14 cstringr.R: vetr:::smprintf2("%s %s hello world there", lorem, lorem, 10L)
  Error in vetr:::smprintf2("%s %s hello world there", lorem, lorem, 10L) : 
    Internal Error: formatting string length longer that `nchar.max` contact maintainer.,
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: (lorem)
  [1] "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
   5/14 cstringr.R: vetr:::ucfirst("hello WORLD")
  [1] "Hello WORLD"
   5/14 cstringr.R: vetr:::lcfirst("HELLO world")
  [1] "hELLO world"
   5/14 cstringr.R: vetr:::strbullet(c("hello world\nhow are things today", "once 
  [1] "- hello world\n  how are things today"   
  [2] "- once upon a time\n  lived a funny duck"
   5/14 cstringr.R: vetr:::strbullet("hello\nblah\n", bullet = "  - ", ctd = "    
  [1] "  - hello\n    blah\n"
   5/14 cstringr.R: vetr:::strbullet(1:10)
  Error in vetr:::strbullet(1:10) : First three arguments must be string
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::collapse(letters[1:5])
  [1] "abcde"
   5/14 cstringr.R: vetr:::collapse(letters[1:5], sep = "\n")
  [1] "a\nb\nc\nd\ne"
   5/14 cstringr.R: vetr:::collapse(character())
  [1] ""
   5/14 cstringr.R: unitizer_sect("numbers as character", {
   5/14 cstringr.R: vetr:::num_as_chr(100)
  [1] "100"
   5/14 cstringr.R: vetr:::num_as_chr(100.01)
  [1] "100.010000"
   5/14 cstringr.R: num0 <- 1e+09 + 0.1
   5/14 cstringr.R: num1 <- -1e+09 - 0.1
   5/14 cstringr.R: sub("e[+-]?\\K0*", "", vetr:::num_as_chr(num0), perl = TRUE)
  [1] "1.000000e+9"
   5/14 cstringr.R: sub("e[+-]?\\K0*", "", vetr:::num_as_chr(num1), perl = TRUE)
  [1] "-1.000000e+9"
   5/14 cstringr.R: vetr:::num_as_chr(num0, as.int = TRUE)
  [1] "1000000000"
   5/14 cstringr.R: vetr:::num_as_chr(num1, as.int = TRUE)
  [1] "-1000000000"
   5/14 cstringr.R: num2 <- 1e+09 - 0.1
   5/14 cstringr.R: num3 <- -(1e+09 - 0.1)
   5/14 cstringr.R: vetr:::num_as_chr(num2)
  [1] "999999999.900000"
   5/14 cstringr.R: vetr:::num_as_chr(num3)
  [1] "-999999999.900000"
   5/14 cstringr.R: vetr:::num_as_chr(NA)
  [1] "NA"
   5/14 cstringr.R: vetr:::num_as_chr(NaN)
  [1] "NaN"
   5/14 cstringr.R: vetr:::num_as_chr(Inf)
  [1] "Inf"
   5/14 cstringr.R: vetr:::num_as_chr(-Inf)
  [1] "-Inf"
   5/14 cstringr.R: unitizer_sect("smprintf6", {
   5/14 cstringr.R: vetr:::smprintf6("%s %s %s %s %s %s", "a", "bb", "ccc", "dddd"
  [1] "a bb ccc dddd eeeee ffffff"
   5/14 cstringr.R: vetr:::smprintf6("%s %s %s %s %s %s", "a", "bb", "ccc", "dddd"
  Error in vetr:::smprintf6("%s %s %s %s %s %s", "a", "bb", "ccc", "dddd",  : 
    Internal Error: formatting string length longer that `nchar.max` contact maintainer.,
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::smprintf6("%s %s %s %s %s %s", "a", "bb", "ccc", "dddd"
  [1] "a bb ccc dddd eeeee ffffff"
   5/14 cstringr.R: vetr:::smprintf6("%s %s %s %s", "a", "bb", "ccc", "dddd", "eee
  [1] "a bb ccc dddd"
   5/14 cstringr.R: unitizer_sect("Corner Cases", {
   5/14 cstringr.R: vetr:::strbullet(c("hello world"), maxlen = 5L)
  Error in vetr:::strbullet(c("hello world"), maxlen = 5L) : 
    Exceeded `max_len` when trying to bullet `string`
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::strbullet(c("hello world"), maxlen = 12L)
  Error in vetr:::strbullet(c("hello world"), maxlen = 12L) : 
    Exceeded `max_len` when trying to bullet `string` (2)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::strbullet(c("hello world"), maxlen = 14L)
  [1] "- hello world"
   5/14 cstringr.R: (vetr:::test_strmcpy())
  Error in vetr:::test_strmcpy() : 
    Argument `maxlen` must be at least one smaller than SIZE_MAX.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::test_strappend()
  Error in vetr:::test_strappend() : 
    Argument `maxlen` must be at least one smaller than max possible size_t value.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::test_add_szt()
  Error in vetr:::test_add_szt() : 
    size_t overflow: you tried to add two size_t numbers that together overflow size_t
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::strmlen(list(), 100L)
  Error in vetr:::strmlen(list(), 100L) : 
    Argument `str` must be a scalar character
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: (vetr:::test_smprintfx())
  [1] "a b c d\na b c\na b\na\n"
   5/14 cstringr.R: (vetr:::test_strappend2())
  Warning in vetr:::test_strappend2() :
    CSR_strmcopy: truncated string longer than 5
  NULL
   5/14 cstringr.R: unitizer_sect("substr", {
   5/14 cstringr.R: vetr:::strsub(lorem.phrases, 25L, TRUE)
  [1] "Lorem ipsum dolor sit a.." "consectetur adipiscing .."
  [3] "sed do eiusmod tempor i.." "Ut enim ad minim veniam," 
  [5] "quis nostrud exercitati.." "Duis aute irure dolor i.."
  [7] "Excepteur sint occaecat.." "sunt in culpa qui offic.."
   5/14 cstringr.R: vetr:::strsub(lorem.phrases, 25L, FALSE)
  [1] "Lorem ipsum dolor sit ame" "consectetur adipiscing el"
  [3] "sed do eiusmod tempor inc" "Ut enim ad minim veniam," 
  [5] "quis nostrud exercitation" "Duis aute irure dolor in "
  [7] "Excepteur sint occaecat c" "sunt in culpa qui officia"
   5/14 cstringr.R: vetr:::strsub(lorem.tr.phrases, 25L, TRUE)
   [1] "Bu tart<U+0131><U+015F>mal<U+0131> tarihsel .." "Stalin'e dü<U+015F>man veya St.."
   [3] "Stalin kar<U+015F><U+0131>tlar<U+0131>n<U+0131>n te.." "Hitlerle aralar<U+0131>ndaki a.."
   [5] "Estonya,"                  "Letonya,"                 
   [7] "Litvanya,"                 "Romanya ve Polonya'nin .."
   [9] "Stalin'in do<U+011F>ru yapt<U+0131><U+011F><U+0131>.." "1937'deki Münih görü<U+015F>me.."
  [11] "<U+0130>ngiliz ve Frans<U+0131>z empe.." "Nazileri k<U+0131><U+015F>k<U+0131>rt<U+0131>yorlar.."
  [13] "Bu amaçla Avusturya'n<U+0131>n.." "özellikle Çekoslovakya'.."
  [15] "Böylece Sovyetler Birli.." "kendi s<U+0131>n<U+0131>rlar<U+0131>n<U+0131> güven.."
  [17] "Stalin'in amaçlar<U+0131>na gö.." "Polonya ve Balt<U+0131>k ülkel.."
  [19] "Nazilerin Sovyetler Bir.." "Böylece 1939 y<U+0131>l<U+0131>nda Na.."
  [21] "Litvanya ve Letonya'y<U+0131> .." "Finlandiya'ya sald<U+0131>rd<U+0131> .."
  [23] "1941'de Hitler'in Sovye.." "II."                      
  [25] "Dünya Sava<U+015F><U+0131>'n<U+0131>n en a<U+011F><U+0131>.."
   5/14 cstringr.R: vetr:::strsub(lorem.tr.phrases, 25L, FALSE)
   [1] "Bu tart<U+0131><U+015F>mal<U+0131> tarihsel dö" "Stalin'e dü<U+015F>man veya Stal"
   [3] "Stalin kar<U+015F><U+0131>tlar<U+0131>n<U+0131>n tezl" "Hitlerle aralar<U+0131>ndaki aç<U+0131>"
   [5] "Estonya,"                  "Letonya,"                 
   [7] "Litvanya,"                 "Romanya ve Polonya'nin Na"
   [9] "Stalin'in do<U+011F>ru yapt<U+0131><U+011F><U+0131>n<U+0131>" "1937'deki Münih görü<U+015F>mele"
  [11] "<U+0130>ngiliz ve Frans<U+0131>z empery" "Nazileri k<U+0131><U+015F>k<U+0131>rt<U+0131>yorlard<U+0131>"
  [13] "Bu amaçla Avusturya'n<U+0131>n A" "özellikle Çekoslovakya'n<U+0131>"
  [15] "Böylece Sovyetler Birli<U+011F>i" "kendi s<U+0131>n<U+0131>rlar<U+0131>n<U+0131> güvence"
  [17] "Stalin'in amaçlar<U+0131>na göre" "Polonya ve Balt<U+0131>k ülkeler"
  [19] "Nazilerin Sovyetler Birli" "Böylece 1939 y<U+0131>l<U+0131>nda Nazi"
  [21] "Litvanya ve Letonya'y<U+0131> s<U+0131>" "Finlandiya'ya sald<U+0131>rd<U+0131> ve"
  [23] "1941'de Hitler'in Sovyetl" "II."                      
  [25] "Dünya Sava<U+015F><U+0131>'n<U+0131>n en a<U+011F><U+0131>r "
   5/14 cstringr.R: vetr:::strsub(lorem.ru.phrases, 25L, TRUE)
   [1] "<U+0420><U+043E><U+0434><U+0438><U+043B><U+0441><U+044F> 6 (18) <U+0434><U+0435><U+043A><U+0430><U+0431><U+0440><U+044F> .." "<U+041F><U+043E><U+0437><U+0436><U+0435> <U+043E><U+043D><U+0430> <U+043F><U+043E><U+0434><U+0442><U+0432><U+0435><U+0440><U+0436><U+0434><U+0430><U+043B><U+0430><U+0441>.."
   [3] "<U+0445><U+043E><U+0442><U+044F> <U+043D><U+0430><U+0447><U+0438><U+043D><U+0430><U+044F> <U+0441> 1929 <U+0433><U+043E><U+0434>.." "<U+0411><U+044B><U+043B> <U+0442><U+0440><U+0435><U+0442><U+044C><U+0438><U+043C> <U+0441><U+044B><U+043D><U+043E><U+043C> <U+0432> <U+0441><U+0435><U+043C>.."
   [5] "<U+043F><U+0435><U+0440><U+0432><U+044B><U+0435> <U+0434><U+0432><U+043E><U+0435> <U+0443><U+043C><U+0435><U+0440><U+043B><U+0438> <U+0432> <U+043C><U+043B>.." "<U+0415><U+0433><U+043E> <U+0440><U+043E><U+0434><U+043D><U+044B><U+043C> <U+044F><U+0437><U+044B><U+043A><U+043E><U+043C> <U+0431><U+044B><U+043B> <U+0433>.."
   [7] "<U+0440><U+0443><U+0441><U+0441><U+043A><U+0438><U+0439> <U+044F><U+0437><U+044B><U+043A> <U+0421><U+0442><U+0430><U+043B><U+0438><U+043D> <U+0432><U+044B><U+0443>.." "<U+043D><U+043E> <U+0432><U+0441><U+0435><U+0433><U+0434><U+0430> <U+0433><U+043E><U+0432><U+043E><U+0440><U+0438><U+043B> <U+0441> <U+0437><U+0430><U+043C>.."
   [9] "<U+0421><U+043E><U+0433><U+043B><U+0430><U+0441><U+043D><U+043E> <U+0443><U+0442><U+0432><U+0435><U+0440><U+0436><U+0434><U+0435><U+043D><U+0438><U+044F><U+043C> <U+0434>.." "<U+0421><U+0442><U+0430><U+043B><U+0438><U+043D>,"
  [11] "<U+043E><U+0434><U+043D><U+0430><U+043A><U+043E>," "<U+043F><U+0435><U+043B> <U+043F><U+043E>-<U+0440><U+0443><U+0441><U+0441><U+043A><U+0438> <U+043F><U+0440><U+0430><U+043A><U+0442><U+0438><U+0447><U+0435><U+0441>.."
   5/14 cstringr.R: vetr:::strsub(lorem.ru.phrases, 25L, FALSE)
   [1] "<U+0420><U+043E><U+0434><U+0438><U+043B><U+0441><U+044F> 6 (18) <U+0434><U+0435><U+043A><U+0430><U+0431><U+0440><U+044F> 18" "<U+041F><U+043E><U+0437><U+0436><U+0435> <U+043E><U+043D><U+0430> <U+043F><U+043E><U+0434><U+0442><U+0432><U+0435><U+0440><U+0436><U+0434><U+0430><U+043B><U+0430><U+0441><U+044C> "
   [3] "<U+0445><U+043E><U+0442><U+044F> <U+043D><U+0430><U+0447><U+0438><U+043D><U+0430><U+044F> <U+0441> 1929 <U+0433><U+043E><U+0434><U+0430>[" "<U+0411><U+044B><U+043B> <U+0442><U+0440><U+0435><U+0442><U+044C><U+0438><U+043C> <U+0441><U+044B><U+043D><U+043E><U+043C> <U+0432> <U+0441><U+0435><U+043C><U+044C><U+0435>"
   [5] "<U+043F><U+0435><U+0440><U+0432><U+044B><U+0435> <U+0434><U+0432><U+043E><U+0435> <U+0443><U+043C><U+0435><U+0440><U+043B><U+0438> <U+0432> <U+043C><U+043B><U+0430><U+0434>" "<U+0415><U+0433><U+043E> <U+0440><U+043E><U+0434><U+043D><U+044B><U+043C> <U+044F><U+0437><U+044B><U+043A><U+043E><U+043C> <U+0431><U+044B><U+043B> <U+0433><U+0440><U+0443>"
   [7] "<U+0440><U+0443><U+0441><U+0441><U+043A><U+0438><U+0439> <U+044F><U+0437><U+044B><U+043A> <U+0421><U+0442><U+0430><U+043B><U+0438><U+043D> <U+0432><U+044B><U+0443><U+0447><U+0438>" "<U+043D><U+043E> <U+0432><U+0441><U+0435><U+0433><U+0434><U+0430> <U+0433><U+043E><U+0432><U+043E><U+0440><U+0438><U+043B> <U+0441> <U+0437><U+0430><U+043C><U+0435><U+0442>"
   [9] "<U+0421><U+043E><U+0433><U+043B><U+0430><U+0441><U+043D><U+043E> <U+0443><U+0442><U+0432><U+0435><U+0440><U+0436><U+0434><U+0435><U+043D><U+0438><U+044F><U+043C> <U+0434><U+043E><U+0447>" "<U+0421><U+0442><U+0430><U+043B><U+0438><U+043D>,"
  [11] "<U+043E><U+0434><U+043D><U+0430><U+043A><U+043E>," "<U+043F><U+0435><U+043B> <U+043F><U+043E>-<U+0440><U+0443><U+0441><U+0441><U+043A><U+0438> <U+043F><U+0440><U+0430><U+043A><U+0442><U+0438><U+0447><U+0435><U+0441><U+043A><U+0438>"
   5/14 cstringr.R: vetr:::strsub(lorem.cn.phrases, 25L, TRUE)
   [1] "<U+4E2D><U+83EF><U+4EBA><U+6C11><U+5171><U+548C><U+570B><U+662F><U+55AE><U+4E00><U+5236><U+7684><U+591A><U+6C11><U+65CF><U+570B><U+5BB6><U+3002>"
   [2] "<U+5168><U+570B><U+5283><U+5206><U+70BA>23<U+500B><U+7701><U+FF08><U+5176><U+4E2D><U+53F0><U+7063><U+7701><U+5E76><U+6C92><U+6709><U+5BE6><U+969B><U+7BA1><U+8F96><U+FF09><U+3001>"
   [3] "5<U+500B><U+81EA><U+6CBB><U+5340><U+3001>"       
   [4] "4<U+500B><U+76F4><U+8F44><U+5E02><U+548C>2<U+500B><U+6839><U+64DA><U+4E00><U+570B><U+5169><U+5236><U+8A2D><U+7ACB><U+7684><U+7279><U+5225><U+884C><U+653F><U+5340><U+FF0C>.."
   [5] "<U+4E2D><U+534E><U+4EBA><U+6C11><U+5171><U+548C><U+56FD><U+8DE8><U+8D8A><U+4E94><U+4E2A><U+5730><U+7406><U+65F6><U+533A><U+FF0C><U+4F46><U+5168><U+56FD><U+5747><U+4F7F><U+7528><U+5317>.."
   [6] "<U+4E2D><U+83EF><U+4EBA><U+6C11><U+5171><U+548C><U+570B><U+5B98><U+65B9><U+8A8D><U+5B9A><U+7684><U+6C11><U+65CF><U+73FE><U+6709>56<U+500B><U+FF0C><U+5176><U+4E2D><U+6700>.."
   [7] "<U+7EF4><U+543E><U+5C14><U+65CF><U+3001>"        
   [8] "<U+6EFF><U+65CF><U+3001>"                        
   [9] "<U+8499><U+53E4><U+65CF><U+3001>"                
  [10] "<U+85CF><U+65CF><U+3001>"                        
  [11] "<U+671D><U+9C9C><U+65CF><U+7B49><U+4E5F><U+591A><U+4F7F><U+7528><U+81EA><U+5DF1><U+7684><U+8A9E><U+8A00><U+8207><U+6587><U+5B57><U+3002>"
  [12] "<U+4E3B><U+8981><U+5B97><U+6559><U+6709><U+4F5B><U+6559><U+3001>"
  [13] "<U+9053><U+6559><U+3001>"                        
  [14] "<U+57FA><U+7763><U+6559><U+FF08><U+591A><U+6307><U+65B0><U+6559><U+FF09><U+3001>"
  [15] "<U+5929><U+4E3B><U+6559><U+548C><U+4F0A><U+65AF><U+5170><U+6559><U+7B49><U+FF0C><U+4F46><U+904E><U+534A><U+4EBA><U+53E3><U+7121><U+7279><U+5B9A><U+5B97><U+6559><U+4FE1><U+4EF0><U+3002>"
  [16] "<U+4E2D><U+534E><U+4EBA><U+6C11><U+5171><U+548C><U+56FD><U+7684><U+901A><U+7528><U+8BED><U+8A00><U+662F><U+6C49><U+8BED><U+666E><U+901A><U+8A71><U+FF0C><U+7576><U+4E2D><U+5728><U+4E2D>.."
   5/14 cstringr.R: vetr:::strsub(lorem.cn.phrases, 25L, FALSE)
   [1] "<U+4E2D><U+83EF><U+4EBA><U+6C11><U+5171><U+548C><U+570B><U+662F><U+55AE><U+4E00><U+5236><U+7684><U+591A><U+6C11><U+65CF><U+570B><U+5BB6><U+3002>"
   [2] "<U+5168><U+570B><U+5283><U+5206><U+70BA>23<U+500B><U+7701><U+FF08><U+5176><U+4E2D><U+53F0><U+7063><U+7701><U+5E76><U+6C92><U+6709><U+5BE6><U+969B><U+7BA1><U+8F96><U+FF09><U+3001>"
   [3] "5<U+500B><U+81EA><U+6CBB><U+5340><U+3001>"         
   [4] "4<U+500B><U+76F4><U+8F44><U+5E02><U+548C>2<U+500B><U+6839><U+64DA><U+4E00><U+570B><U+5169><U+5236><U+8A2D><U+7ACB><U+7684><U+7279><U+5225><U+884C><U+653F><U+5340><U+FF0C><U+5747><U+76F4>"
   [5] "<U+4E2D><U+534E><U+4EBA><U+6C11><U+5171><U+548C><U+56FD><U+8DE8><U+8D8A><U+4E94><U+4E2A><U+5730><U+7406><U+65F6><U+533A><U+FF0C><U+4F46><U+5168><U+56FD><U+5747><U+4F7F><U+7528><U+5317><U+4EAC><U+65F6>"
   [6] "<U+4E2D><U+83EF><U+4EBA><U+6C11><U+5171><U+548C><U+570B><U+5B98><U+65B9><U+8A8D><U+5B9A><U+7684><U+6C11><U+65CF><U+73FE><U+6709>56<U+500B><U+FF0C><U+5176><U+4E2D><U+6700><U+5927><U+6C11>"
   [7] "<U+7EF4><U+543E><U+5C14><U+65CF><U+3001>"          
   [8] "<U+6EFF><U+65CF><U+3001>"                          
   [9] "<U+8499><U+53E4><U+65CF><U+3001>"                  
  [10] "<U+85CF><U+65CF><U+3001>"                          
  [11] "<U+671D><U+9C9C><U+65CF><U+7B49><U+4E5F><U+591A><U+4F7F><U+7528><U+81EA><U+5DF1><U+7684><U+8A9E><U+8A00><U+8207><U+6587><U+5B57><U+3002>"
  [12] "<U+4E3B><U+8981><U+5B97><U+6559><U+6709><U+4F5B><U+6559><U+3001>"
  [13] "<U+9053><U+6559><U+3001>"                          
  [14] "<U+57FA><U+7763><U+6559><U+FF08><U+591A><U+6307><U+65B0><U+6559><U+FF09><U+3001>"
  [15] "<U+5929><U+4E3B><U+6559><U+548C><U+4F0A><U+65AF><U+5170><U+6559><U+7B49><U+FF0C><U+4F46><U+904E><U+534A><U+4EBA><U+53E3><U+7121><U+7279><U+5B9A><U+5B97><U+6559><U+4FE1><U+4EF0><U+3002>"
  [16] "<U+4E2D><U+534E><U+4EBA><U+6C11><U+5171><U+548C><U+56FD><U+7684><U+901A><U+7528><U+8BED><U+8A00><U+662F><U+6C49><U+8BED><U+666E><U+901A><U+8A71><U+FF0C><U+7576><U+4E2D><U+5728><U+4E2D><U+570B><U+5927>"
   5/14 cstringr.R: vetr:::strsub(lorem.phrases, 1:2, TRUE)
  Error in vetr:::strsub(lorem.phrases, 1:2, TRUE) : 
    Argument `chars` must be scalar integer, strictly positive, and not NA.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::strsub(lorem.phrases, 25L, 1:2)
  Error in vetr:::strsub(lorem.phrases, 25L, 1:2) : 
    Argument `mark_trunc` must be a TRUE or FALSE.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::strsub(1:2, 25L, TRUE)
  Error in vetr:::strsub(1:2, 25L, TRUE) : 
    Argument `string` must be a string.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::strsub(lorem.phrases, 2L, TRUE)
  Error in vetr:::strsub(lorem.phrases, 2L, TRUE) : 
    Argument `chars` must be greater than 2 when `mark_trunc` is TRUE.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::strsub(lorem.phrases, 3L, TRUE)
  [1] "L.." "c.." "s.." "U.." "q.." "D.." "E.." "s.."
   5/14 cstringr.R: unitizer_sect("nchar_u", {
   5/14 cstringr.R: vetr:::nchar_u(1:10)
  Error in vetr:::nchar_u(1:10) : 
    Argument `string` must be a character vector.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::nchar_u(c("a", "ab", "abc"))
  [1] 1 2 3
   5/14 cstringr.R: unitizer_sect("char_offsets", {
   5/14 cstringr.R: vetr:::char_offsets(1:10)
  Error in vetr:::char_offsets(1:10) : 
    Argument `string` must be a character vector.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: vetr:::char_offsets(c("a", "ab", "abc"))
  Error in vetr:::char_offsets(c("a", "ab", "abc")) : 
    Argument `string` must be scalar.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   5/14 cstringr.R: unitizer_sect("UTF8 corner cases, in UTF-8", {
   5/14 cstringr.R: utf8.kuhn <- readLines("unitizer/helper/UTF-8-test.txt", encod
  Warning in readLines("unitizer/helper/UTF-8-test.txt", encoding = "UTF-8") :
    line 91 appears to contain an embedded nul
   5/14 cstringr.R: test.start <- grep("^Here come the tests:", utf8.kuhn)
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.1.1  First continuation byte 0x80: "<80>"                                      |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    input string 122 is invalid
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.1.2  Last  continuation byte 0xbf: "<bf>"                                      |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    input string 123 is invalid
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.1.3  2 continuation bytes: "<80><bf>"                                             |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    input string 125 is invalid
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.1.4  3 continuation bytes: "<80><bf><80>"                                            |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    input string 126 is invalid
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.1.5  4 continuation bytes: "<80><bf><80><bf>"                                           |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    input string 127 is invalid
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.1.6  5 continuation bytes: "<80><bf><80><bf><80>"                                          |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.1.7  6 continuation bytes: "<80><bf><80><bf><80><bf>"                                         |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.1.8  7 continuation bytes: "<80><bf><80><bf><80><bf><80>"                                        |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '   "<80><81><82><83><84><85><86><87><88><89><8a><8b><8c><8d><8e><8f>                                                          |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '    <90><91><92><93><94><95><96><97><98><99><9a><9b><9c><9d><9e><9f>                                                          |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '    <a0><a1><a2><a3><a4><a5><a6><a7><a8><a9><aa><ab><ac><ad><ae><af>                                                          |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '    <b0><b1><b2><b3><b4><b5><b6><b7><b8><b9><ba><bb><bc><bd><be><bf>"                                                         |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '   "<c0> <c1> <c2> <c3> <c4> <c5> <c6> <c7> <c8> <c9> <ca> <cb> <cc> <cd> <ce> <cf>                                           |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '    <d0> <d1> <d2> <d3> <d4> <d5> <d6> <d7> <d8> <d9> <da> <db> <dc> <dd> <de> <df> "                                         |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '   "<e0> <e1> <e2> <e3> <e4> <e5> <e6> <e7> <e8> <e9> <ea> <eb> <ec> <ed> <ee> <ef> "                                         |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '   "<f0> <f1> <f2> <f3> <f4> <f5> <f6> <f7> "                                                         |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '   "<f8> <f9> <fa> <fb> "                                                                 |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '   "<fc> <fd> "                                                                     |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.1  2-byte sequence with last byte missing (U+0000):     "<c0>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.2  3-byte sequence with last byte missing (U+0000):     "<e0><80>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.3  4-byte sequence with last byte missing (U+0000):     "<f0><80><80>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.4  5-byte sequence with last byte missing (U+0000):     "<f8><80><80><80>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.5  6-byte sequence with last byte missing (U+0000):     "<fc><80><80><80><80>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.6  2-byte sequence with last byte missing (U-000007FF): "<df>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.7  3-byte sequence with last byte missing (U-0000FFFF): "<ef><bf>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.8  4-byte sequence with last byte missing (U-001FFFFF): "<f7><bf><bf>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.9  5-byte sequence with last byte missing (U-03FFFFFF): "<fb><bf><bf><bf>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.3.10 6-byte sequence with last byte missing (U-7FFFFFFF): "<fd><bf><bf><bf><bf>"               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '   "<c0><e0><80><f0><80><80><f8><80><80><80><fc><80><80><80><80><df><ef><bf><f7><bf><bf><fb><bf><bf><bf><fd><bf><bf><bf><bf>"                                                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.5.1  fe = "<fe>"                                                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.5.2  ff = "<ff>"                                                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '3.5.3  fe fe ff ff = "<fe><fe><ff><ff>"                                                   |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.1.1 U+002F = c0 af             = "<c0><af>"                                        |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.1.2 U+002F = e0 80 af          = "<e0><80><af>"                                        |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.1.3 U+002F = f0 80 80 af       = "<f0><80><80><af>"                                        |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.1.4 U+002F = f8 80 80 80 af    = "<f8><80><80><80><af>"                                        |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.1.5 U+002F = fc 80 80 80 80 af = "<fc><80><80><80><80><af>"                                        |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.2.1  U-0000007F = c1 bf             = "<c1><bf>"                                   |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.2.2  U-000007FF = e0 9f bf          = "<e0><9f><bf>"                                   |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.2.3  U-0000FFFF = f0 8f bf bf       = "<f0><8f><bf><bf>"                                   |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.2.4  U-001FFFFF = f8 87 bf bf bf    = "<f8><87><bf><bf><bf>"                                   |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.2.5  U-03FFFFFF = fc 83 bf bf bf bf = "<fc><83><bf><bf><bf><bf>"                                   |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.3.1  U+0000 = c0 80             = "<c0><80>"                                       |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.3.2  U+0000 = e0 80 80          = "<e0><80><80>"                                       |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.3.3  U+0000 = f0 80 80 80       = "<f0><80><80><80>"                                       |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.3.4  U+0000 = f8 80 80 80 80    = "<f8><80><80><80><80>"                                       |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '4.3.5  U+0000 = fc 80 80 80 80 80 = "<fc><80><80><80><80><80>"                                       |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.1.1  U+D800 = ed a0 80 = "<ed><a0><80>"                                                |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.1.2  U+DB7F = ed ad bf = "<ed><ad><bf>"                                                |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.1.3  U+DB80 = ed ae 80 = "<ed><ae><80>"                                                |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.1.4  U+DBFF = ed af bf = "<ed><af><bf>"                                                |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.1.5  U+DC00 = ed b0 80 = "<ed><b0><80>"                                                |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.1.6  U+DF80 = ed be 80 = "<ed><be><80>"                                                |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.1.7  U+DFFF = ed bf bf = "<ed><bf><bf>"                                                |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.2.1  U+D800 U+DC00 = ed a0 80 ed b0 80 = "<ed><a0><80><ed><b0><80>"                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.2.2  U+D800 U+DFFF = ed a0 80 ed bf bf = "<ed><a0><80><ed><bf><bf>"                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.2.3  U+DB7F U+DC00 = ed ad bf ed b0 80 = "<ed><ad><bf><ed><b0><80>"                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.2.4  U+DB7F U+DFFF = ed ad bf ed bf bf = "<ed><ad><bf><ed><bf><bf>"                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.2.5  U+DB80 U+DC00 = ed ae 80 ed b0 80 = "<ed><ae><80><ed><b0><80>"                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.2.6  U+DB80 U+DFFF = ed ae 80 ed bf bf = "<ed><ae><80><ed><bf><bf>"                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.2.7  U+DBFF U+DC00 = ed af bf ed b0 80 = "<ed><af><bf><ed><b0><80>"                               |' to a wide string
  Warning in grep("^Here come the tests:", utf8.kuhn) :
    unable to translate '5.2.8  U+DBFF U+DFFF = ed af bf ed bf bf = "<ed><af><bf><ed><bf><bf>"                               |' to a wide string
   5/14 cstringr.R: test.start
  [1] 81
   5/14 cstringr.R: utf8.test <- tail(utf8.kuhn, -test.start)
   5/14 cstringr.R: nchar.base <- nchar(utf8.test, allowNA = TRUE)
   5/14 cstringr.R: untranslatable <- is.na(nchar.base)
   5/14 cstringr.R: nchar.vetr <- vetr:::nchar_u(utf8.test)
   5/14 cstringr.R: base.vetr.diff <- !is.na(nchar.base) & nchar.vetr != nchar.bas
   5/14 cstringr.R: unicode.10 <- c("ÂAA", "añ\200\200", "añ\200\200á\200", "añ\20
   5/14 cstringr.R: Encoding(unicode.10) <- "UTF-8"
   5/14 cstringr.R: vetr:::nchar_u(unicode.10[1])
  [1] 3
   5/14 cstringr.R: vetr:::nchar_u(unicode.10[2])
  [1] 2
   5/14 cstringr.R: vetr:::nchar_u(unicode.10[3])
  [1] 3
   5/14 cstringr.R: vetr:::nchar_u(unicode.10[4])
  [1] 10
   5/14 cstringr.R: vetr:::char_offsets(unicode.10[4])
   [1]  1 -3 -2 -1  1 -1  1 -1 -1  1
   5/14 cstringr.R: crit.1 <- c(n.0 = "\177", y.1 = "\200")
   5/14 cstringr.R: crit.2 <- c(n.0 = "Á\221", n.1 = "Ây", y.2 = "Â\200", y.3 = "ß
   5/14 cstringr.R: crit.3 <- c(n.00 = "à\237\221", n.01 = "à y", y.02 = "à \200",
   5/14 cstringr.R: crit.4 <- c(n.00 = "ð\211\200\200", n.01 = "ð\220y\200", n.02 
   5/14 cstringr.R: Encoding(crit.1) <- "UTF-8"
   5/14 cstringr.R: Encoding(crit.2) <- "UTF-8"
   5/14 cstringr.R: Encoding(crit.3) <- "UTF-8"
   5/14 cstringr.R: Encoding(crit.4) <- "UTF-8"
   5/14 cstringr.R: Map(vetr:::char_offsets, crit.1)
  $n.0
  [1] 1
  
  $y.1
  [1] -1
  
   5/14 cstringr.R: Map(vetr:::char_offsets, crit.2)
  $n.0
  [1] -1 -1
  
  $n.1
  [1] -1  1
  
  $y.2
  [1] 2
  
  $y.3
  [1] 2
  
  $n.4
  [1] -1 -1
  
   5/14 cstringr.R: Map(vetr:::char_offsets, crit.3)
  $n.00
  [1] -1 -1 -1
  
  $n.01
  [1] -2  1
  
  $y.02
  [1] 3
  
  $y.03
  [1] 3
  
  $n.04
  [1] -2 -1
  
  $n.05
  [1] -1  1 -1
  
  $y.06
  [1] 3
  
  $y.07
  [1] 3
  
  $n.08
  [1] -2 -1
  
  $n.10
  [1] -1 -1 -1
  
  $n.11
  [1] -1  1 -1
  
  $n.12
  [1] -2  1
  
  $y.13
  [1] 3
  
  $y.14
  [1] 3
  
  $n.16
  [1] -2 -1
  
  $n.17
  [1] -1 -1 -1
  
  $n.18
  [1] -2  1
  
  $n.19
  [1] -1  1 -1
  
  $y.20
  [1] 3
  
  $y.21
  [1] 3
  
  $n.22
  [1] -2 -1
  
  $n.23
  [1] -1 -1 -1
  
   5/14 cstringr.R: Map(vetr:::char_offsets, crit.4)
  $n.00
  [1] -1 -1 -1 -1
  
  $n.01
  [1] -2  1 -1
  
  $n.02
  [1] -3  1
  
  $y.03
  [1] 4
  
  $y.04
  [1] 4
  
  $n.06
  [1] -3 -1
  
  $n.07
  [1] -2 -1 -1
  
  $n.08
  [1] -1 -1 -1 -1
  
  $n.09
  [1] -3  1
  
  $n.10
  [1] -2  1 -1
  
  $n.11
  [1] -1  1 -1 -1
  
  $y.12
  [1] 4
  
  $y.13
  [1] 4
  
  $n.14
  [1] -3 -1
  
  $n.15
  [1] -2 -1 -1
  
  $n.16
  [1] -1 -1 -1 -1
  
  $n.17
  [1] -3  1
  
  $n.18
  [1] -2  1 -1
  
  $n.19
  [1] -1  1 -1 -1
  
  $y.20
  [1] 4
  
  $y.21
  [1] 4
  
  $n.22
  [1] -3 -1
  
  $n.23
  [1] -2 -1 -1
  
  $n.24
  [1] -1 -1  1  1
  
  $n.25
  [1] -1 -1 -1 -1
  
   5/14 cstringr.R: unitizer_sect("UTF-8 corner cases - other encodings", {
   5/14 cstringr.R: lat.1.1 <- lat.1.2 <- c("niña", "hello", "µ ¶ ¿ É ô")
   5/14 cstringr.R: Encoding(lat.1.1) <- "latin1"
   5/14 cstringr.R: Encoding(lat.1.2) <- "bytes"
   5/14 cstringr.R: lapply(lat.1.1, vetr:::char_offsets)
  [[1]]
  [1] 1 1 2 1
  
  [[2]]
  [1] 1 1 1 1 1
  
  [[3]]
  [1] 2 1 2 1 2 1 2 1 2
  
   5/14 cstringr.R: lapply(lat.1.2, vetr:::char_offsets)
  [[1]]
  [1] 1 1 1 1
  
  [[2]]
  [1] 1 1 1 1 1
  
  [[3]]
  [1] 1 1 1 1 1 1 1 1 1
  
   5/14 cstringr.R: vetr:::strsub(lat.1.1, 3L, mark = FALSE)
  [1] "niñ" "hel" "µ ¶"
   5/14 cstringr.R: vetr:::strsub(lat.1.2, 3L, mark = FALSE)
  [1] "ni\\xf1"    "hel"       "\\xb5 \\xb6"
  
   6/14 eval.R: 
   6/14 eval.R: library(vetr)
   6/14 eval.R: unitizer_sect("evaluate", {
   6/14 eval.R: vetr:::eval_check(quote(logical(2L)), quote(xyz), 1:2)
  [[1]]
  [1] "`xyz`"            "be"               "type \"logical\"" "is"              
  [5] "\"integer\""     
  
   6/14 eval.R: vetr:::eval_check(quote(logical(2L)), quote(xyz), c(TRUE, FALSE))
  list()
   6/14 eval.R: vetr:::eval_check(quote(logical(2L)), quote(xyz), c(TRUE, FALSE, 
  [[1]]
  [1] "`length(xyz)`" "be"            "2"             "is"           
  [5] "3"            
  
   6/14 eval.R: vetr:::eval_check(quote(logical(2L) || NULL), quote(xyz), 1:2)
  [[1]]
  [1] "`xyz`"            "be"               "type \"logical\"" "is"              
  [5] "\"integer\""     
  
  [[2]]
  [1] "`xyz`"       "be"          "`NULL`"      "is"          "\"integer\""
  
   6/14 eval.R: vetr:::eval_check(quote(logical(2L) || NULL), quote(xyz), NULL)
  list()
   6/14 eval.R: vetr:::eval_check(quote(logical(2L) || NULL), quote(xyz), c(TRUE, 
  list()
   6/14 eval.R: vetr:::eval_check(quote(matrix(integer(), nrow = 3) || NULL), 
  list()
   6/14 eval.R: vetr:::eval_check(quote(matrix(integer(), nrow = 3) || NULL), 
  [[1]]
  [1] "`xyz`"       "be"          "\"matrix\""  "is"          "\"integer\""
  
  [[2]]
  [1] "`xyz`"       "be"          "`NULL`"      "is"          "\"integer\""
  
   6/14 eval.R: vetr:::eval_check(quote(matrix(integer(), nrow = 3) || vector("lis
  [[1]]
  [1] "`xyz`"      "be"         "\"matrix\"" "is"         "\"list\""  
  
  [[2]]
  [1] "`length(xyz)`" "be"            "2"             "is"           
  [5] "1"            
  
   6/14 eval.R: vetr:::eval_check(quote(matrix(integer(), nrow = 3) || vector("lis
  list()
   6/14 eval.R: vetr:::eval_check(quote(matrix(integer(), nrow = 3) || list(charac
  [[1]]
  [1] "`xyz`"      "be"         "\"matrix\"" "is"         "\"list\""  
  
  [[2]]
  [1] "`xyz[[2]]`"            "be"                    "type \"integer-like\""
  [4] "is"                    "\"character\""        
  
   6/14 eval.R: unitizer_sect("evaluate with sub", {
   6/14 eval.R: xyz <- c(TRUE, TRUE)
   6/14 eval.R: vetr:::eval_check(quote(logical(2L) && .(all(xyz))), quote(xyz), 
  Error in vetr:::eval_check(quote(logical(2L) && .(all(xyz))), quote(xyz),  : 
    vet/vetr usage error: found symbol `xyz` in vetting token for object with the same symbol.  Please use `.` to reference the object being checked by the vetting token (e.g. use `vet(. > 0, x)` instead of `vet(x > 0, x)`)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   6/14 eval.R: vetr:::eval_check(quote(logical(2L) && .(all(.))), quote(xyz), 
  list()
   6/14 eval.R: vetr:::eval_check(quote(logical(2L) && .(!any(is.na(.)))), quote(x
  list()
   6/14 eval.R: xyz <- c(TRUE, NA)
   6/14 eval.R: vetr:::eval_check(quote(logical(2L) && .(!any(is.na(.)))), quote(x
  [[1]]
  [1] "`!any(is.na(xyz))` is not TRUE (FALSE)"
  
   6/14 eval.R: xyz <- c(TRUE, FALSE, TRUE)
   6/14 eval.R: vetr:::eval_check(quote(logical(2L) && .(!any(is.na(.)))), quote(x
  [[1]]
  [1] "`length(xyz)`" "be"            "2"             "is"           
  [5] "3"            
  
   6/14 eval.R: abc1 <- letters[1:5]
   6/14 eval.R: vetr:::eval_check(quote(character(5L) && .(all(. %in% letters[1:3]
  [[1]]
  [1] "`all(abc1 %in% letters[1:3])` is not TRUE (FALSE)"
  
   6/14 eval.R: abc2 <- rep("a", 5)
   6/14 eval.R: vetr:::eval_check(quote(character(5L) && .(all(. %in% letters[1:3]
  list()
   6/14 eval.R: mat1 <- matrix(1:30, ncol = 3)
   6/14 eval.R: vetr:::eval_check(quote((matrix(numeric(), ncol = 3) || matrix(int
  list()
   6/14 eval.R: mat2 <- matrix(1:120, ncol = 3)
   6/14 eval.R: vetr:::eval_check(quote((matrix(numeric(), ncol = 3) || matrix(int
  [[1]]
  [1] "`length(mat2) < 100` is not TRUE (FALSE)"
  
   6/14 eval.R: mat3 <- LETTERS[1:9]
   6/14 eval.R: vetr:::eval_check(quote((matrix(numeric(), ncol = 3) || matrix(int
  [[1]]
  [1] "`mat3`"        "be"            "\"matrix\""    "is"           
  [5] "\"character\""
  
  [[2]]
  [1] "`mat3`"        "be"            "\"matrix\""    "is"           
  [5] "\"character\""
  
  [[3]]
  [1] "`length(mat3)`" "be"             "10"             "is"            
  [5] "9"             
  
   6/14 eval.R: vetr:::eval_check(quote(matrix(numeric(), ncol = 3) || matrix(inte
  [[1]]
  [1] "`mat3`"        "be"            "\"matrix\""    "is"           
  [5] "\"character\""
  
  [[2]]
  [1] "`mat3`"        "be"            "\"matrix\""    "is"           
  [5] "\"character\""
  
  [[3]]
  [1] "`length(mat3)`" "be"             "10"             "is"            
  [5] "9"             
  
  [[4]]
  [1] "`length(mat3) > 20` is not TRUE (FALSE)"
  
   6/14 eval.R: unitizer_sect("custom expressions", {
   6/14 eval.R: x <- -1:1
   6/14 eval.R: y <- 1
   6/14 eval.R: z <- -1
   6/14 eval.R: w <- NA_integer_
   6/14 eval.R: u <- integer()
   6/14 eval.R: t <- 1:3
   6/14 eval.R: vetr:::eval_check(quote(. > 0), quote(x), x)
  [[1]]
  [1] "`x > 0` is not all TRUE (contains non-TRUE values)"
  
   6/14 eval.R: vetr:::eval_check(quote(. > 0), quote(y), y)
  list()
   6/14 eval.R: vetr:::eval_check(quote(. > 0), quote(z), z)
  [[1]]
  [1] "`z > 0` is not TRUE (FALSE)"
  
   6/14 eval.R: vetr:::eval_check(quote(. > 0), quote(t), t)
  list()
   6/14 eval.R: vetr:::eval_check(quote(. > 0), quote(w), w)
  [[1]]
  [1] "`w > 0` is not TRUE (NA)"
  
   6/14 eval.R: vetr:::eval_check(quote(. > 0), quote(u), u)
  list()
   6/14 eval.R: unitizer_sect("Errors", {
   6/14 eval.R: vetr:::eval_check(1:3, 1:3, TRUE, env = list(1:3))
  Error in vetr:::eval_check(1:3, 1:3, TRUE, env = list(1:3)) : 
    `vet/vetr` usage error: argument `env` must be an environment.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   6/14 eval.R: vetr:::eval_check(quote(y), quote(x), TRUE, env = list(1:3))
  Error in vetr:::eval_check(quote(y), quote(x), TRUE, env = list(1:3)) : 
    `vet/vetr` usage error: argument `env` must be an environment.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
  
   7/14 internal.R: 
   7/14 internal.R: library(vetr)
   7/14 internal.R: unitizer_sect("Name like attributes", {
   7/14 internal.R: vetr:::name_compare(c("", "hello"), c("abc", "hello"))
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::name_compare(c("ab", "hello"), c("abc", "hello"))
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"      "\"ab\""  "is"      "\"abc\""
  
  $message$wrap
  $message$wrap[[1]]
  NULL[1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  $message$wrap[[2]][[2]]
  [1] 1
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::name_compare(c(NA_character_, "hello"), c("abc", "hello
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"      "\"NA\""  "is"      "\"abc\""
  
  $message$wrap
  $message$wrap[[1]]
  NULL[1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  $message$wrap[[2]][[2]]
  [1] 1
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::name_compare(c("ab", "hello"), c(NA_character_, "hello"
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"     "\"ab\"" "is"     "\"NA\""
  
  $message$wrap
  $message$wrap[[1]]
  NULL[1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  $message$wrap[[2]][[2]]
  [1] 1
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::name_compare(c(NA_character_, "hello"), c(NA_character_
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::name_compare(1:3, 3:1)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                  "identical to target" ""                   
  [4] ""                   
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: unitizer_sect("S3 Classes", {
   7/14 internal.R: class1 <- letters[1:5]
   7/14 internal.R: class2 <- letters[3:5]
   7/14 internal.R: class3 <- letters[c(4, 3, 5)]
   7/14 internal.R: class4 <- character()
   7/14 internal.R: class5 <- NULL
   7/14 internal.R: class6 <- list("a", "b", "c")
   7/14 internal.R: vetr:::class_compare(class2, class1, 0)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class1, class2, 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"a\"" "is"    "\"c\""
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)[1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class1, class1[1:3], 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "inherit"          "from class \"d\"" ""                 ""                
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class3, class2, 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"d\"" "is"    "\"c\""
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)[1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class3, class1, 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"d\"" "is"    "\"c\""
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)[3]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class5, class2, 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                                         
  [2] "`alike` the corresponding element in target"
  [3] ""                                           
  [4] ""                                           
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class2, class5, 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                                         
  [2] "`alike` the corresponding element in target"
  [3] ""                                           
  [4] ""                                           
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class5, class5, 0)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class6, class2, 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                                         
  [2] "`alike` the corresponding element in target"
  [3] ""                                           
  [4] ""                                           
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class2, class6, 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                                         
  [2] "`alike` the corresponding element in target"
  [3] ""                                           
  [4] ""                                           
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: class7 <- c("a", "data.frame")
   7/14 internal.R: vetr:::class_compare(class7, class1, 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"a\"" "is"    "\"d\""
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)[4]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 1
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::class_compare(class1, class7, 0)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"             "\"b\""          "is"             "\"data.frame\""
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)[2]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: unitizer_sect("Dimnames", {
   7/14 internal.R: dimn1 <- list(NULL, NULL, NULL)
   7/14 internal.R: dimn2 <- list(a = letters[1:3], b = letters[4:6], c = letters[
   7/14 internal.R: dimn3 <- list(letters[1:3], b = letters[4:6], c = letters[7:9]
   7/14 internal.R: dimn4 <- list(letters[1:3], B = letters[4:6], C = letters[7:9]
   7/14 internal.R: dimn5 <- list(a = LETTERS[1:3], b = letters[4:6], c = letters[
   7/14 internal.R: dimn6 <- list(a = "", b = letters[4:6], c = letters[7:9])
   7/14 internal.R: dimn7 <- list()
   7/14 internal.R: dimn8 <- list(a = LETTERS[1:3], b = letters[4:6], c = letters[
   7/14 internal.R: dimn9 <- list(a = 1:3, b = letters[4:6], c = letters[7:9])
   7/14 internal.R: dimn10 <- list(a = list("a", "b", "c"), b = letters[4:6], c = 
   7/14 internal.R: dimn11 <- NULL
   7/14 internal.R: dimn12 <- matrix(letters[1:9], nrow = 3)
   7/14 internal.R: dimn13 <- `attr<-`(dimn2, "bar", "yowza")
   7/14 internal.R: dimn14 <- `attr<-`(dimn2, "bar", "yowz")
   7/14 internal.R: dimn15 <- list(a = letters[1:3], b = letters[1:3])
   7/14 internal.R: dimn16 <- list(a = letters[1:3], b = letters[1:3])
   7/14 internal.R: attr(dimn15, "a") <- 1:2
   7/14 internal.R: attr(dimn16, "a") <- 1:3
   7/14 internal.R: dimn17 <- list(a = letters[1:3])
   7/14 internal.R: dimn18 <- list(a = letters[1:2], b = letters[1:3])
   7/14 internal.R: vetr:::dimname_compare(dimn3, dimn2)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn2, dimn3)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"a\"" "is"    "\"\"" 
  
  $message$wrap
  $message$wrap[[1]]
  names(dimnames(NULL))[1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn3, dimn4)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"b\"" "is"    "\"B\""
  
  $message$wrap
  $message$wrap[[1]]
  names(dimnames(NULL))[2]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn2, dimn5)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"a\"" "is"    "\"A\""
  
  $message$wrap
  $message$wrap[[1]]
  dimnames(NULL)[[1]][1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn6, dimn5)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "1"  "is" "3" 
  
  $message$wrap
  $message$wrap[[1]]
  length(dimnames(NULL)[[1]])
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn5, dimn6)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "3"  "is" "1" 
  
  $message$wrap
  $message$wrap[[1]]
  length(dimnames(NULL)[[1]])
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn2, dimn1)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"                "attribute \"names\"" ""                   
  [4] ""                   
  
  $message$wrap
  $message$wrap[[1]]
  dimnames(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn1, dimn2)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn11, dimn2)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"       "`NULL`"   "is"       "\"list\""
  
  $message$wrap
  $message$wrap[[1]]
  dimnames(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn11, dimn11)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"                     "a \"dimnames\" attribute"
  [3] ""                         ""                        
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn7, dimn2)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn2, dimn7)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "3"  "is" "0" 
  
  $message$wrap
  $message$wrap[[1]]
  length(dimnames(NULL))
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn7, dimn7)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn5, dimn8)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "3"  "is" "4" 
  
  $message$wrap
  $message$wrap[[1]]
  length(dimnames(NULL))
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn8, dimn5)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "4"  "is" "3" 
  
  $message$wrap
  $message$wrap[[1]]
  length(dimnames(NULL))
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn9, dimn2)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                    "type \"integer-like\"" "is"                   
  [4] "\"character\""        
  
  $message$wrap
  $message$wrap[[1]]
  dimnames(NULL)[[1]]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn2, dimn9)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                 "type \"character\"" "is"                
  [4] "\"integer\""       
  
  $message$wrap
  $message$wrap[[1]]
  dimnames(NULL)[[1]]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn2, dimn12)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"            "type \"list\"" "is"            "\"character\""
  
  $message$wrap
  $message$wrap[[1]]
  dimnames(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn12, dimn12)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn2, dimn13)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn13, dimn2)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "not be"  "missing" ""        ""       
  
  $message$wrap
  $message$wrap[[1]]
  attr(dimnames(NULL), "bar")
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  [1] "bar"
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn13, dimn14)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn14, dimn13)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn15, dimn16)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "2"  "is" "3" 
  
  $message$wrap
  $message$wrap[[1]]
  length(attr(dimnames(NULL), "a"))
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  [1] "a"
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dimname_compare(dimn17, dimn18)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "1"  "is" "2" 
  
  $message$wrap
  $message$wrap[[1]]
  length(dimnames(NULL))
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: unitizer_sect("Dims", {
   7/14 internal.R: dim1 <- rep(2L, 2)
   7/14 internal.R: dim2 <- rep(2L, 3)
   7/14 internal.R: dim3 <- rep(2L, 4)
   7/14 internal.R: dim4 <- c(1L, 1L)
   7/14 internal.R: dim5 <- 2L
   7/14 internal.R: dim6 <- c(1L, 2L, 3L)
   7/14 internal.R: dim7 <- rep(0L, 2)
   7/14 internal.R: dim8 <- c(0L, 0L, 2L)
   7/14 internal.R: dim9 <- NULL
   7/14 internal.R: dim10 <- letters[1:2]
   7/14 internal.R: dim11 <- list(2L, 2L)
   7/14 internal.R: vetr:::dim_compare(dim1, dim2)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"         "\"matrix\"" "is"         "\"array\"" 
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 1
  
   7/14 internal.R: vetr:::dim_compare(dim2, dim3)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"         "3 dimensions" "has"          "4"           
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim1, dim4)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"   "2 rows" "has"    "1"     
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim2, dim6)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"                  "size 2 at dimension 1" "has"                  
  [4] "1"                    
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim7, dim1)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim7, dim4)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim1, dim7)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"   "2 rows" "has"    "0"     
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim7, dim2)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"         "\"matrix\"" "is"         "\"array\"" 
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 1
  
   7/14 internal.R: vetr:::dim_compare(dim8, dim2)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim8, dim6)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"                  "size 2 at dimension 3" "has"                  
  [4] "3"                    
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim6, dim9)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"          "\"array\""   "is"          "\"integer\""
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 1
  
   7/14 internal.R: vetr:::dim_compare(9L, NULL)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"                "a \"dim\" attribute" ""                   
  [4] ""                   
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim1, dim2, list())
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"          "\"list\""    "is"          "\"integer\""
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 1
  
   7/14 internal.R: vetr:::dim_compare(dim1, dim2, cur_obj = list())
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"          "\"integer\"" "is"          "\"list\""   
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 1
  
   7/14 internal.R: vetr:::dim_compare(dim1, dim2, list(), list())
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"         "2 dimensions" "has"          "3"           
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::dim_compare(dim1, dim2, integer(), list())
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"          "\"integer\"" "is"          "\"list\""   
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 1
  
   7/14 internal.R: vetr:::dim_compare(dim9, dim6)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"          "\"integer\"" "is"          "\"array\""  
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 1
  
   7/14 internal.R: vetr:::dim_compare(dim10, dim1)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                                         
  [2] "`alike` the corresponding element in target"
  [3] ""                                           
  [4] ""                                           
  
  $message$wrap
  $message$wrap[[1]]
  dim(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: unitizer_sect("Time Series", {
   7/14 internal.R: ts.1 <- attr(ts(runif(24), 1970, frequency = 12), "tsp")
   7/14 internal.R: ts.2 <- attr(ts(runif(24), 1970, frequency = 4), "tsp")
   7/14 internal.R: ts.3 <- ts.4 <- ts.1
   7/14 internal.R: ts.3[[2L]] <- 0
   7/14 internal.R: ts.4[[3L]] <- 0
   7/14 internal.R: vetr:::ts_compare(ts.1, ts.2)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"      "1971.92" "is"      "1975.75"
  
  $message$wrap
  $message$wrap[[1]]
  tsp(NULL)[2]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::ts_compare(ts.3, ts.2)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "12" "is" "4" 
  
  $message$wrap
  $message$wrap[[1]]
  tsp(NULL)[3]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::ts_compare(ts.4, ts.2)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"      "1971.92" "is"      "1975.75"
  
  $message$wrap
  $message$wrap[[1]]
  tsp(NULL)[2]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::ts_compare(ts.4, ts.1)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::ts_compare(ts.1, ts.4)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "12" "is" "0" 
  
  $message$wrap
  $message$wrap[[1]]
  tsp(NULL)[3]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::ts_compare(ts.4, "hello")
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                                         
  [2] "`alike` the corresponding element in target"
  [3] ""                                           
  [4] ""                                           
  
  $message$wrap
  $message$wrap[[1]]
  tsp(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::ts_compare("hello", 1:3)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                                         
  [2] "`alike` the corresponding element in target"
  [3] ""                                           
  [4] ""                                           
  
  $message$wrap
  $message$wrap[[1]]
  tsp(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::ts_compare(ts.1, 1:3)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::ts_compare(ts.4, 1:4)
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                                         
  [2] "`alike` the corresponding element in target"
  [3] ""                                           
  [4] ""                                           
  
  $message$wrap
  $message$wrap[[1]]
  tsp(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: unitizer_sect("All Attributes, default", {
   7/14 internal.R: vetr:::attr_compare(1, 1)
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3), matrix(integer(), 3,
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3), matrix(integer(), 3,
  Error in vetr:::attr_compare(matrix(integer(), 3), matrix(integer(), 3,  : 
    Argument `mode` must be a one length integer like vector
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3), matrix(integer(), 3,
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 4), matrix(integer(), 3,
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"   "4 rows" "has"    "3"     
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 2
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), ncol = 4), matrix(intege
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"      "4 columns" "has"       "3"        
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 2
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3, dimnames = list(NU
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3, dimnames = list(NU
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"b\"" "is"    "\"a\""
  
  $message$wrap
  $message$wrap[[1]]
  colnames(NULL)[1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 5
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3, dimnames = list(le
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"a\"" "is"    "\"A\""
  
  $message$wrap
  $message$wrap[[1]]
  row.names(NULL)[1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 5
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3, dimnames = list(LE
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3, dimnames = list(A 
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"A\"" "is"    "\"a\""
  
  $message$wrap
  $message$wrap[[1]]
  names(dimnames(NULL))[1]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 5
  
   7/14 internal.R: vetr:::attr_compare(structure(list(integer(), character())), 
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(structure(list(integer(), character()), cl
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 1
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(structure(unname(data.frame(integer(), cha
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 1
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(structure(list(), welp = list()), structur
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(structure(list(), welp = list(NULL)), stru
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "1"  "is" "2" 
  
  $message$wrap
  $message$wrap[[1]]
  length(attr(NULL, "welp"))
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  $message$wrap[[2]][[2]]
  [1] "welp"
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 6
  
   7/14 internal.R: vetr:::attr_compare(structure(list(), welp = list(), belp = 1:
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"               "attribute \"belp\"" ""                  
  [4] ""                  
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 7
  
   7/14 internal.R: vetr:::attr_compare(structure(list(), class = letters[1:3]), 
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(structure(list(), class = letters[1:3]), 
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"    "\"a\"" "is"    "\"b\""
  
  $message$wrap
  $message$wrap[[1]]
  class(NULL)[2]
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(structure(list(), class = letters[2:4]), 
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: unitizer_sect("All attributes, strict", {
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3), matrix(integer(), 3,
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3), matrix(integer(),
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3, dimnames = list(NU
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3, dimnames = list(LE
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3, dimnames = list(a 
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be"                                         
  [2] "`alike` the corresponding element in target"
  [3] ""                                           
  [4] ""                                           
  
  $message$wrap
  $message$wrap[[1]]
  dimnames(NULL)
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 6
  
   7/14 internal.R: vetr:::attr_compare(matrix(integer(), 3, 3, dimnames = list(A 
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(structure(list(integer(), character())), 
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(structure(list(integer(), character()), cl
  $success
  [1] 1
  
  $message
  NULL
  
  $df
  [1] 0
  
  $lvl
  [1] 0
  
   7/14 internal.R: vetr:::attr_compare(structure(list(), class = letters[2:4]), 
  $success
  [1] 0
  
  $message
  $message$message
  [1] "be" "3"  "is" "4" 
  
  $message$wrap
  $message$wrap[[1]]
  length(class(NULL))
  
  $message$wrap[[2]]
  $message$wrap[[2]][[1]]
  NULL
  
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 6
  
   7/14 internal.R: vetr:::attr_compare(structure(list(integer(), character())), 
  $success
  [1] 0
  
  $message
  $message$message
  [1] "not have"            "attribute \"class\"" ""                   
  [4] ""                   
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 6
  
   7/14 internal.R: vetr:::attr_compare(structure(list(integer(), character()), cl
  $success
  [1] 0
  
  $message
  $message$message
  [1] "not have"            "attribute \"names\"" ""                   
  [4] ""                   
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 7
  
   7/14 internal.R: vetr:::attr_compare(structure(list(), welp = list(NULL, 1:3), 
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"               "attribute \"belp\"" ""                  
  [4] ""                  
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 7
  
   7/14 internal.R: vetr:::attr_compare(structure(list(), welp = list(NULL, 1:3), 
  $success
  [1] 0
  
  $message
  $message$message
  [1] "have"               "attribute \"belp\"" ""                  
  [4] ""                  
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $df
  [1] 0
  
  $lvl
  [1] 7
  
   7/14 internal.R: unitizer_sect("Closures", {
   7/14 internal.R: vetr:::fun_alike(print, print.data.frame)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(print.data.frame, print)
  [1] "have"                                  
  [2] "argument `digits` after argument `...`"
  [3] ""                                      
  [4] ""                                      
   7/14 internal.R: vetr:::fun_alike(summary, summary.lm)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(summary.lm, summary)
  [1] "have"                                          
  [2] "argument `correlation` after argument `object`"
  [3] ""                                              
  [4] ""                                              
   7/14 internal.R: fn0 <- function(x, y) NULL
   7/14 internal.R: fn1 <- function(x, y, z) NULL
   7/14 internal.R: fn2 <- function(y, x) NULL
   7/14 internal.R: fn3 <- function(x = 1, y = 2) NULL
   7/14 internal.R: fn4 <- function(x, ...) NULL
   7/14 internal.R: fn5 <- function(x) NULL
   7/14 internal.R: fn6 <- function(x, y, z, ...) NULL
   7/14 internal.R: fn7 <- function(x, ..., y) NULL
   7/14 internal.R: fn8 <- function(x, a, ..., g, y) NULL
   7/14 internal.R: fn9 <- function(x, a, ..., g, y, w) NULL
   7/14 internal.R: vetr:::fun_alike(fn0, fn1)
  [1] "not have"                        "argument `z` after argument `y`"
  [3] ""                                ""                               
   7/14 internal.R: vetr:::fun_alike(fn1, fn0)
  [1] "have"                            "argument `z` after argument `y`"
  [3] ""                                ""                               
   7/14 internal.R: vetr:::fun_alike(fn4, fn1)
  [1] "have"             "a `...` argument" ""                 ""                
   7/14 internal.R: vetr:::fun_alike(fn0, fn2)
  [1] "have"                           "argument `x` as first argument"
  [3] ""                               ""                              
   7/14 internal.R: vetr:::fun_alike(fn0, fn3)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(fn3, fn0)
  [1] "have"                           "argument `x` as first argument"
  [3] ""                               ""                              
   7/14 internal.R: vetr:::fun_alike(fn4, fn5)
  [1] "have"                              "argument `...` after argument `x`"
  [3] ""                                  ""                                 
   7/14 internal.R: vetr:::fun_alike(fn4, fn6)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(fn4, fn7)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(fn7, fn4)
  [1] "have"                              "argument `y` after argument `...`"
  [3] ""                                  ""                                 
   7/14 internal.R: vetr:::fun_alike(fn7, fn8)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(fn7, fn9)
  [1] "not have"                        "argument `w` after argument `y`"
  [3] ""                                ""                               
   7/14 internal.R: vetr:::fun_alike(`+`, `-`)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(substitute, function(expr, env) NULL)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(function(expr, env) NULL, substitute)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(substitute, on.exit)
  [1] "have"                                
  [2] "argument `env` after argument `expr`"
  [3] ""                                    
  [4] ""                                    
   7/14 internal.R: vetr:::fun_alike(on.exit, substitute)
  [1] "have"                              "argument `expr` as first argument"
  [3] ""                                  ""                                 
   7/14 internal.R: vetr:::fun_alike(`[`, substitute)
  [1] "not have"      "any arguments" ""              ""             
   7/14 internal.R: vetr:::fun_alike(`[`, `&&`)
  [1] TRUE
   7/14 internal.R: vetr:::fun_alike(identity, 10)
  Error in vetr:::fun_alike(identity, 10) : Arguments must be functions.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   7/14 internal.R: vetr:::fun_alike(10, identity)
  Error in vetr:::fun_alike(10, identity) : Arguments must be functions.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   7/14 internal.R: unitizer_sect("Env Track", {
   7/14 internal.R: el.1 <- replicate(5, new.env())
   7/14 internal.R: el.2 <- el.1[c(1, 1, 2, 3, 4, 1, 2, 3, 5, 1)]
   7/14 internal.R: vetr:::env_track(el.1, 1L)
  [1] 1 3 3 1 3
   7/14 internal.R: vetr:::env_track(el.2, 1L)
   [1] 1 0 1 3 1 0 0 0 1 0
   7/14 internal.R: vetr:::env_track(el.1, 1L, 3L)
  [1]  1  3 -1 -1 -1
   7/14 internal.R: vetr:::env_track(list(1, 2, 3), 1L, 3L)
  Error in vetr:::env_track(list(1, 2, 3), 1L, 3L) : 
    All contents of `env` should be environments; error  at item 1
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   7/14 internal.R: unitizer_sect("valid names", {
   7/14 internal.R: vetr:::is_valid_name("hello")
  [1] TRUE
   7/14 internal.R: vetr:::is_valid_name(".hello")
  [1] TRUE
   7/14 internal.R: vetr:::is_valid_name("123")
  [1] FALSE
   7/14 internal.R: vetr:::is_valid_name("hello there")
  [1] FALSE
   7/14 internal.R: vetr:::is_valid_name("h1ello")
  [1] TRUE
   7/14 internal.R: vetr:::is_valid_name("_hello")
  [1] FALSE
   7/14 internal.R: vetr:::is_valid_name(".1fail")
  [1] FALSE
   7/14 internal.R: vetr:::is_valid_name("NULL")
  [1] FALSE
   7/14 internal.R: vetr:::is_valid_name("FALSE")
  [1] FALSE
   7/14 internal.R: vetr:::is_valid_name(letters)
  Error in vetr:::is_valid_name(letters) : 
    Argument `name` must be character(1L)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   7/14 internal.R: unitizer_sect("Is dfish", {
   7/14 internal.R: df1 <- list(a = 1:10, b = letters[1:10])
   7/14 internal.R: df2 <- list(a = 1:10, b = letters[1:9])
   7/14 internal.R: vetr:::is_dfish(df1)
  [1] TRUE
   7/14 internal.R: vetr:::is_dfish(df2)
  [1] FALSE
   7/14 internal.R: vetr:::is_dfish(1:10)
  [1] FALSE
   7/14 internal.R: unitizer_sect("syntactic", {
   7/14 internal.R: vetr:::syntactic_names(quote(hello))
  [1] TRUE
   7/14 internal.R: vetr:::syntactic_names(quote(`hello there`))
  [1] FALSE
   7/14 internal.R: vetr:::syntactic_names(quote(1 + 1))
  [1] TRUE
   7/14 internal.R: vetr:::syntactic_names(quote(1 %hello there% 1))
  [1] TRUE
   7/14 internal.R: vetr:::syntactic_names(quote(1 + `hello there`))
  [1] FALSE
   7/14 internal.R: vetr:::syntactic_names(quote(-(1:3)))
  [1] TRUE
   7/14 internal.R: vetr:::syntactic_names(quote(c(-1:1, NA_integer_)))
  [1] TRUE
   7/14 internal.R: vetr:::syntactic_names(quote(a == 25))
  [1] TRUE
   7/14 internal.R: vetr:::syntactic_names(quote(all(-1:1 > 0)))
  [1] TRUE
   7/14 internal.R: unitizer_sect("Pad or Quote", {
   7/14 internal.R: vetr:::pad_or_quote(quote(1 + 1))
  [1] "`1 + 1`"
   7/14 internal.R: vetr:::pad_or_quote(quote(!anyNA(1 + 1)))
  [1] "`!anyNA(1 + 1)`"
   7/14 internal.R: vetr:::pad_or_quote(quote(1 + 1), syntactic = 0L)
  [1] "{1 + 1}"
   7/14 internal.R: vetr:::pad_or_quote(quote(1 + 1), syntactic = 1L)
  [1] "`1 + 1`"
   7/14 internal.R: unitizer_sect("Merge messages", {
   7/14 internal.R: vetr:::msg_sort(list(letters[5:1], letters[1:5]))
  [[1]]
  [1] "a" "b" "c" "d" "e"
  
  [[2]]
  [1] "e" "d" "c" "b" "a"
  
   7/14 internal.R: vetr:::msg_sort(list(c("a", "a", "a", "z", "b"), c("a", "a", 
  [[1]]
  [1] "a" "a" "z" "b" "b"
  
  [[2]]
  [1] "a" "a" "a" "z" "b"
  
   7/14 internal.R: vetr:::msg_sort(list(letters[5:1]))
  [[1]]
  [1] "e" "d" "c" "b" "a"
  
   7/14 internal.R: vetr:::msg_sort(as.list(letters[5:1]))
  [[1]]
  [1] "a"
  
  [[2]]
  [1] "b"
  
  [[3]]
  [1] "c"
  
  [[4]]
  [1] "d"
  
  [[5]]
  [1] "e"
  
   7/14 internal.R: vetr:::msg_sort(list(letters[1:5], NULL))
  Error in vetr:::msg_sort(list(letters[1:5], NULL)) : 
    Internal Error: unexpected string format to merge; contact maintainer
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   7/14 internal.R: vetr:::msg_sort(letters)
  Error in vetr:::msg_sort(letters) : Expected list argument, got character
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   7/14 internal.R: msgs <- list(c("`my_var`", "be", "integer", "is", "character")
   7/14 internal.R: vetr:::msg_merge(msgs)
  [[1]]
  [1] "`attr(my_var)`" "be"             "\"NULL\""       "is"            
  [5] "list"          
  
  [[2]]
  [1] "`length(names(my_var))`" "be"                     
  [3] "2, or 3"                 "is"                     
  [5] "4"                      
  
  [[3]]
  [1] "`my_var`"                     "be"                          
  [3] "\"NULL\", integer, or matrix" "is"                          
  [5] "character"                   
  
  [[4]]
  [1] "`my_var`"  "have"      "3 columns" "has"       "1"        
  
   7/14 internal.R: vetr:::msg_merge(msgs[1:3])
  [[1]]
  [1] "`length(names(my_var))`" "be"                     
  [3] "2"                       "is"                     
  [5] "4"                      
  
  [[2]]
  [1] "`my_var`"  "be"        "integer"   "is"        "character"
  
  [[3]]
  [1] "`my_var`"  "have"      "3 columns" "has"       "1"        
  
   7/14 internal.R: vetr:::msg_merge(msgs[1])
  [[1]]
  [1] "`my_var`"  "be"        "integer"   "is"        "character"
  
   7/14 internal.R: vetr:::msg_merge_2(msgs)
  [[1]]
  [1] "`attr(my_var)` should be \"NULL\" (is list)"
  
  [[2]]
  [1] "`length(names(my_var))` should be 2, or 3 (is 4)"
  
  [[3]]
  [1] "`my_var` should be \"NULL\", integer, or matrix (is character)"
  
  [[4]]
  [1] "`my_var` should have 3 columns (has 1)"
  
   7/14 internal.R: unitizer_sect("Hash", {
   7/14 internal.R: keys <- vapply(1:26, function(x) paste0(letters[seq(x)], colla
   7/14 internal.R: values <- vapply(1:26, function(x) paste0(LETTERS[seq(x)], col
   7/14 internal.R: vetr:::hash_test(keys, values)
   [1] "A"                          "AB"                        
   [3] "ABC"                        "ABCD"                      
   [5] "ABCDE"                      "ABCDEF"                    
   [7] "ABCDEFG"                    "ABCDEFGH"                  
   [9] "ABCDEFGHI"                  "ABCDEFGHIJ"                
  [11] "ABCDEFGHIJK"                "ABCDEFGHIJKL"              
  [13] "ABCDEFGHIJKLM"              "ABCDEFGHIJKLMN"            
  [15] "ABCDEFGHIJKLMNO"            "ABCDEFGHIJKLMNOP"          
  [17] "ABCDEFGHIJKLMNOPQ"          "ABCDEFGHIJKLMNOPQR"        
  [19] "ABCDEFGHIJKLMNOPQRS"        "ABCDEFGHIJKLMNOPQRST"      
  [21] "ABCDEFGHIJKLMNOPQRSTU"      "ABCDEFGHIJKLMNOPQRSTUV"    
  [23] "ABCDEFGHIJKLMNOPQRSTUVW"    "ABCDEFGHIJKLMNOPQRSTUVWX"  
  [25] "ABCDEFGHIJKLMNOPQRSTUVWXY"  "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   7/14 internal.R: vetr:::track_hash(letters[1:3], 2L)
  [1] 1 1 4
   7/14 internal.R: vetr:::track_hash(letters[1:5], 2L)
  [1] 1 1 4 1 8
   7/14 internal.R: vetr:::track_hash(c("a", "b", "b"), 2L)
  [1] 1 1 0
   7/14 internal.R: vetr:::track_hash(c("a", "b", NA, 1, "b"), 2L)
  [1]  1  1 NA  1  1
   7/14 internal.R: vetr:::track_hash(c("a", "b", NA, 1, "a"), 2L)
  [1]  1  1 NA  1  0
   7/14 internal.R: keys <- c("a", "b", NA, 1, "b", "hello", "goodbye", "a", NA, 
   7/14 internal.R: vetr:::track_hash(keys, 8L)
   [1]  1  1 NA  1  1  1  1  0 NA  3  0  1  0
   7/14 internal.R: collisions <- c("f b", "n b", "n d", "t m", "b r", "n w", "q w
   7/14 internal.R: keys.1 <- c(collisions, NA, 0, collisions)
   7/14 internal.R: vetr:::track_hash(keys.1, 64L)
   [1]  1  1  1  1  1  1  1  1 NA  0  1  1  1  1  1  1  1  1
   7/14 internal.R: keys.2 <- c(collisions, NA, 4, collisions)
   7/14 internal.R: vetr:::track_hash(keys.2, 64L)
   [1]  1  1  1  1  1  1  1  1 NA  4  0  0  0  0  1  1  1  1
   7/14 internal.R: vetr:::hash_test2(c(collisions[1:3], collisions[1:3], "hello")
  [1]  0  0  0  0  0  0 -1
   7/14 internal.R: unitizer_sect("Mode", {
   7/14 internal.R: vetr:::alike_mode(NULL)
  [1] "NULL"
   7/14 internal.R: vetr:::alike_mode(quote(a))
  [1] "name"
   7/14 internal.R: vetr:::alike_mode(mean)
  [1] "function"
   7/14 internal.R: vetr:::alike_mode(`+`)
  [1] "function"
   7/14 internal.R: vetr:::alike_mode(log)
  [1] "function"
   7/14 internal.R: vetr:::alike_mode(quote(1 + 1))
  [1] "call"
   7/14 internal.R: unitizer_sect("Find funs", {
   7/14 internal.R: fun <- function(x, y) NULL
   7/14 internal.R: vetr:::find_fun(quote(fun), environment())
  function(x, y) NULL
  <environment: 0x55acb63bfb48>
   7/14 internal.R: vetr:::find_fun(quote(asdhfqwerasdfasdf), environment())
  NULL
   7/14 internal.R: fun2 <- function(x) vetr:::find_fun(quote(x), environment())
   7/14 internal.R: (fun2())
  NULL
  
   8/14 language.R: 
   8/14 language.R: library(vetr)
   8/14 language.R: unitizer_sect("Match Calls", {
   8/14 language.R: vetr:::match_call_alike(quote(var(y = 1:10, runif(10))), basee
  var(y = 1:10, runif(10))
   8/14 language.R: env0 <- new.env()
   8/14 language.R: env0$var <- function(yollo, zambia) NULL
   8/14 language.R: vetr:::match_call_alike(quote(var(y = 1:10, runif(10))), env0)
  var(yollo = 1:10, zambia = runif(10))
   8/14 language.R: unitizer_sect("Calls", {
   8/14 language.R: c0 <- quote(fun(a, b, a, 25))
   8/14 language.R: c1 <- quote(fun(x, y, x, "hello"))
   8/14 language.R: c2 <- quote(fun(x, y, z, "hello"))
   8/14 language.R: c3 <- quote(FUN(x, y, x, 1.01))
   8/14 language.R: c4 <- quote(fun(x, y, x, z))
   8/14 language.R: c5 <- quote(fun(a + b + a, FUN(z, a + 1)))
   8/14 language.R: c6 <- quote(fun(x + y + x, FUN(w, x + 2)))
   8/14 language.R: c7 <- quote(fun(x + y + x, FUN(w, y + 2)))
   8/14 language.R: c8 <- quote(fun(x + y + x, FUN(w, x - 2)))
   8/14 language.R: c9 <- quote(fun(x + y + x, FUN(w, x + "hello")))
   8/14 language.R: c10 <- quote(fun(1))
   8/14 language.R: c11 <- quote(fun(1, 2))
   8/14 language.R: c12 <- quote(a + b + c)
   8/14 language.R: c13 <- quote((a + b) + c)
   8/14 language.R: c14 <- quote(a + (b + c))
   8/14 language.R: vetr:::lang_alike(c0, c1, NULL)
  $success
  [1] TRUE
  
  $message
  NULL
  
  $call.match
  NULL
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  NULL
  
   8/14 language.R: vetr:::lang_alike(c0, c2, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"  "`x`" "is"  "`z`"
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  fun(x, y, z, "hello")
  
  $call.ind
  NULL[[4]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 4
  
  
  $call.orig
  fun(x, y, z, "hello")
  
   8/14 language.R: vetr:::lang_alike(c0, c3, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"              "a call to `fun`" "is"              "a call to `FUN`"
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  FUN(x, y, x, 1.01)
  
  $call.ind
  NULL[[1]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 1
  
  
  $call.orig
  FUN(x, y, x, 1.01)
  
   8/14 language.R: vetr:::lang_alike(c0, c4, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"         "\"double\"" "is"         "\"symbol\""
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  fun(x, y, x, z)
  
  $call.ind
  NULL[[5]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 5
  
  
  $call.orig
  fun(x, y, x, z)
  
   8/14 language.R: vetr:::lang_alike(c5, c6, NULL)
  $success
  [1] TRUE
  
  $message
  NULL
  
  $call.match
  NULL
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  NULL
  
   8/14 language.R: vetr:::lang_alike(c5, c7, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"  "`x`" "is"  "`y`"
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  fun(x + y + x, FUN(w, y + 2))
  
  $call.ind
  NULL[[3]][[3]][[2]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 3
  
  
  $call.orig
  fun(x + y + x, FUN(w, y + 2))
  
   8/14 language.R: vetr:::lang_alike(c5, c8, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"            "a call to `+`" "is"            "a call to `-`"
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  fun(x + y + x, FUN(w, x - 2))
  
  $call.ind
  NULL[[3]][[3]][[1]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 3
  
  
  $call.orig
  fun(x + y + x, FUN(w, x - 2))
  
   8/14 language.R: vetr:::lang_alike(c5, c9, NULL)
  $success
  [1] TRUE
  
  $message
  NULL
  
  $call.match
  NULL
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  NULL
  
   8/14 language.R: vetr:::lang_alike(c11, c10, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "have"        "2 arguments" "has"         "1"          
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  fun(1)
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  fun(1)
  
   8/14 language.R: vetr:::lang_alike(c12, c13)
  $success
  [1] TRUE
  
  $message
  NULL
  
  $call.match
  NULL
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  NULL
  
   8/14 language.R: vetr:::lang_alike(c12, c14)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"            "a call to `+`" "is"            "\"symbol\""   
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  a + (b + c)
  
  $call.ind
  NULL[[2]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 2
  
  
  $call.orig
  a + (b + c)
  
   8/14 language.R: vetr:::lang_alike(c13, c14)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"            "a call to `+`" "is"            "\"symbol\""   
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  a + (b + c)
  
  $call.ind
  NULL[[2]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 2
  
  
  $call.orig
  a + (b + c)
  
   8/14 language.R: vetr:::lang_alike(c14, c13)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"           "\"symbol\""   "is"           "\"language\""
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  (a + b) + c
  
  $call.ind
  NULL[[2]][[2]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 2
  
  
  $call.orig
  (a + b) + c
  
   8/14 language.R: fun <- function(abc, bcd, efg) NULL
   8/14 language.R: ca <- quote(fun(a, b, a))
   8/14 language.R: cb <- quote(fun(x, e = x, y))
   8/14 language.R: vetr:::lang_alike(ca, cb, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "not be" "`x`"    ""       ""      
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  fun(x, e = x, y)
  
  $call.ind
  NULL$e
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  e
  
  
  $call.orig
  fun(x, e = x, y)
  
   8/14 language.R: vetr:::lang_alike(cb, ca, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "have"                          "argument `e` after argument 1"
  [3] "has"                           "unnamed argument"             
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  fun(a, b, a)
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  fun(a, b, a)
  
   8/14 language.R: vetr:::lang_alike(ca, cb)
  $success
  [1] TRUE
  
  $message
  NULL
  
  $call.match
  NULL
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  NULL
  
   8/14 language.R: ca.1 <- ca
   8/14 language.R: cb.1 <- cb
   8/14 language.R: ca.1[[1]] <- fun
   8/14 language.R: cb.1[[1]] <- fun
   8/14 language.R: vetr:::lang_alike(ca.1, cb.1)
  $success
  [1] TRUE
  
  $message
  NULL
  
  $call.match
  NULL
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  NULL
  
   8/14 language.R: cc <- quote(fun(a, b, fun(b = 1)))
   8/14 language.R: cd <- quote(fun(a, b, fun(c = 1)))
   8/14 language.R: vetr:::lang_alike(cc, cd)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "have"                             "argument `bcd` as first argument"
  [3] "has"                              "`c`"                             
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  fun(abc = a, bcd = b, efg = fun(c = 1))
  
  $call.ind
  NULL[[4]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 4
  
  
  $call.orig
  fun(a, b, fun(c = 1))
  
   8/14 language.R: ce <- quote(fun(a, b, NULL))
   8/14 language.R: vetr:::lang_alike(cc, ce)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"              "a call to `fun`" "is"              "\"NULL\""       
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  fun(abc = a, bcd = b, efg = NULL)
  
  $call.ind
  NULL[[4]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 4
  
  
  $call.orig
  fun(a, b, NULL)
  
   8/14 language.R: vetr:::lang_alike(ce, cc)
  $success
  [1] TRUE
  
  $message
  NULL
  
  $call.match
  NULL
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  NULL
  
   8/14 language.R: da <- quote(ff(a = 1, b = 2, c = 3))
   8/14 language.R: db <- quote(ff(a = 1, d = 2, c = 3))
   8/14 language.R: vetr:::lang_alike(da, db)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "have"                            "argument `b` after argument `a`"
  [3] "has"                             "`d`"                            
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  ff(a = 1, d = 2, c = 3)
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  ff(a = 1, d = 2, c = 3)
  
   8/14 language.R: vetr:::lang_alike(cc, 1:10)
  Error in vetr:::lang_alike(cc, 1:10) : 
    Arguments must be LANGSXP, SYMSXP, or R_NilValue
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   8/14 language.R: vetr:::lang_alike(ce, cc, match.call.env = 1:10)
  Error in vetr:::lang_alike(ce, cc, match.call.env = 1:10) : 
    Argument `match.call.env` must be an environment or NULL
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   8/14 language.R: unitizer_sect("Calls as char", {
   8/14 language.R: vetr:::lang_alike_chr(c0, c1, NULL)
  [1] ""
   8/14 language.R: vetr:::lang_alike_chr(c0, c2, NULL)
  [1] "be"  "`x`" "is"  "`z`"
   8/14 language.R: vetr:::lang_alike_chr(c0, c3, NULL)
  [1] "be"              "a call to `fun`" "is"              "a call to `FUN`"
   8/14 language.R: vetr:::lang_alike_chr(c0, c4, NULL)
  [1] "be"         "\"double\"" "is"         "\"symbol\""
   8/14 language.R: vetr:::lang_alike_chr(c5, c6, NULL)
  [1] ""
   8/14 language.R: vetr:::lang_alike_chr(c5, c7, NULL)
  [1] "be"  "`x`" "is"  "`y`"
   8/14 language.R: vetr:::lang_alike_chr(c5, c8, NULL)
  [1] "be"            "a call to `+`" "is"            "a call to `-`"
   8/14 language.R: vetr:::lang_alike_chr(c5, c9, NULL)
  [1] ""
   8/14 language.R: vetr:::lang_alike_chr(ca, cb, NULL)
  [1] "not be" "`x`"    ""       ""      
   8/14 language.R: vetr:::lang_alike_chr(cb, ca, NULL)
  [1] "have"                          "argument `e` after argument 1"
  [3] "has"                           "unnamed argument"             
   8/14 language.R: vetr:::lang_alike_chr(ca, cb)
  [1] ""
   8/14 language.R: vetr:::lang_alike_chr(cc, cd)
  [1] "have"                             "argument `bcd` as first argument"
  [3] "has"                              "`c`"                             
   8/14 language.R: vetr:::lang_alike_chr(cc, ce)
  [1] "be"              "a call to `fun`" "is"              "\"NULL\""       
   8/14 language.R: vetr:::lang_alike_chr(ce, cc)
  [1] ""
   8/14 language.R: unitizer_sect("Formulas", {
   8/14 language.R: f0 <- y ~ x + 1
   8/14 language.R: f1 <- a ~ b + 1
   8/14 language.R: f2 <- a ~ b + 2
   8/14 language.R: f3 <- y ~ x + log(x) + z - 1
   8/14 language.R: f4 <- a ~ b + log(b) + c - 1
   8/14 language.R: f5 <- a ~ b + log(c) + b - 1
   8/14 language.R: f6 <- a ~ b + ln(b) + c - 1
   8/14 language.R: f7 <- a ~ b + log(b) + c + 1
   8/14 language.R: vetr:::lang_alike(f0, f1, NULL)
  $success
  [1] TRUE
  
  $message
  NULL
  
  $call.match
  NULL
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  NULL
  
   8/14 language.R: vetr:::lang_alike(f0, f2, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "have"                      "identical constant values"
  [3] ""                          ""                         
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  a ~ b + 2
  <environment: 0x55acbc59ff88>
  
  $call.ind
  NULL[[3]][[3]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 3
  
  
  $call.orig
  a ~ b + 2
  <environment: 0x55acbc59ff88>
  
   8/14 language.R: vetr:::lang_alike(f3, f4, NULL)
  $success
  [1] TRUE
  
  $message
  NULL
  
  $call.match
  NULL
  
  $call.ind
  NULL
  
  $call.ind.sub.par
  NULL
  
  $call.orig
  NULL
  
   8/14 language.R: vetr:::lang_alike(f3, f5, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"  "`b`" "is"  "`c`"
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  a ~ b + log(c) + b - 1
  <environment: 0x55acbc59ff88>
  
  $call.ind
  NULL[[3]][[2]][[2]][[3]][[2]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 3
  
  
  $call.orig
  a ~ b + log(c) + b - 1
  <environment: 0x55acbc59ff88>
  
   8/14 language.R: vetr:::lang_alike(f3, f6, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"              "a call to `log`" "is"              "a call to `ln`" 
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  a ~ b + ln(b) + c - 1
  <environment: 0x55acbc59ff88>
  
  $call.ind
  NULL[[3]][[2]][[2]][[3]][[1]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 3
  
  
  $call.orig
  a ~ b + ln(b) + c - 1
  <environment: 0x55acbc59ff88>
  
   8/14 language.R: vetr:::lang_alike(f3, f7, NULL)
  $success
  [1] FALSE
  
  $message
  $message$message
  [1] "be"            "a call to `-`" "is"            "a call to `+`"
  
  $message$wrap
  $message$wrap[[1]]
  NULL
  
  $message$wrap[[2]]
  NULL
  
  
  
  $call.match
  a ~ b + log(b) + c + 1
  <environment: 0x55acbc59ff88>
  
  $call.ind
  NULL[[3]][[1]]
  
  $call.ind.sub.par
  $call.ind.sub.par[[1]]
  NULL
  
  $call.ind.sub.par[[2]]
  [1] 3
  
  
  $call.orig
  a ~ b + log(b) + c + 1
  <environment: 0x55acbc59ff88>
  
   8/14 language.R: unitizer_sect("Deparse", {
   8/14 language.R: l0 <- quote(a + b + fun(x + funz(matrix_over[25, 32]) + transf
   8/14 language.R: (dep.txt <- vetr:::dep_alike(l0))
  [1] "a + b + fun(x + funz(matrix_over[25, 32]) + transform(iris, x = Sepal.Width * "
  [2] "    3)/the_donkey_ate_a_carrot %in% {"                                         
  [3] "    paste0(match(letter, LETTERS), c(\"hello there\"))"                        
  [4] "})"                                                                            
   8/14 language.R: vetr:::dep_alike(l0, 30)
  [1] "a + b + fun(x + funz(matrix_over[25, "        
  [2] "    32]) + transform(iris, x = Sepal.Width * "
  [3] "    3)/the_donkey_ate_a_carrot %in% "         
  [4] "    {"                                        
  [5] "        paste0(match(letter, LETTERS), "      
  [6] "            c(\"hello there\"))"              
  [7] "    })"                                       
   8/14 language.R: vetr:::pad(dep.txt)
  [1] "> a + b + fun(x + funz(matrix_over[25, 32]) + transform(iris, x = Sepal.Width * \n+     3)/the_donkey_ate_a_carrot %in% {\n+     paste0(match(letter, LETTERS), c(\"hello there\"))\n+ })\n"
   8/14 language.R: old.opt <- options(prompt = ">>", continue = " |")
   8/14 language.R: vetr:::pad(dep.txt)
  [1] ">>a + b + fun(x + funz(matrix_over[25, 32]) + transform(iris, x = Sepal.Width * \n |    3)/the_donkey_ate_a_carrot %in% {\n |    paste0(match(letter, LETTERS), c(\"hello there\"))\n |})\n"
   8/14 language.R: options(old.opt)
   8/14 language.R: vetr:::pad(dep.txt, pad = 4)
  [1] "    a + b + fun(x + funz(matrix_over[25, 32]) + transform(iris, x = Sepal.Width * \n        3)/the_donkey_ate_a_carrot %in% {\n        paste0(match(letter, LETTERS), c(\"hello there\"))\n    })\n"
   8/14 language.R: vetr:::pad(dep.txt, pad = 4, lines = 2)
  [1] "    a + b + fun(x + funz(matrix_over[25, 32]) + transform(iris, x = Sepal.Width * \n        3)/the_donkey_ate_a_carrot %in% {...\n"
   8/14 language.R: vetr:::dep_oneline(quote(1 + 1 + 3 + 944254235), 10)
  [1] "1 + 1 + .."
   8/14 language.R: vetr:::dep_oneline(quote(1 + 1 + 3), 10)
  [1] "1 + 1 + 3"
   8/14 language.R: vetr:::dep_oneline(quote(1 + 1 + 3), "hello")
  Warning in vetr:::dep_oneline(quote(1 + 1 + 3), "hello") :
    NAs introduced by coercion
  Error in vetr:::dep_oneline(quote(1 + 1 + 3), "hello") : 
    Internal Error: arg max_chars and keep_at_end must be positive
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> <Anonymous>
   8/14 language.R: vetr:::dep_oneline(quote(1 + 1 + 3 - (mean(1:10) + 3)), 15, 1L
  [1] "1 + 1 + 3 - ..)"
  
   9/14 misc.R: 
   9/14 misc.R: library(vetr)
   9/14 misc.R: unitizer_sect("All", {
   9/14 misc.R: vetr:::val_all(1:10)
  [1] -2
   9/14 misc.R: vetr:::val_all(rep(TRUE, 10))
  [1] 1
   9/14 misc.R: vetr:::val_all(c(rep(TRUE, 10), FALSE, TRUE))
  [1] 0
   9/14 misc.R: vetr:::val_all(c(rep(TRUE, 5), NA, rep(TRUE, 5)))
  [1] -4
   9/14 misc.R: vetr:::val_all(FALSE)
  [1] -1
   9/14 misc.R: vetr:::val_all(TRUE)
  [1] 2
   9/14 misc.R: vetr:::val_all(logical())
  [1] 3
   9/14 misc.R: vetr:::val_all(NA)
  [1] -3
   9/14 misc.R: vetr:::val_all(c(TRUE, TRUE, NA, TRUE))
  [1] -4
   9/14 misc.R: unitizer_sect("Hash", {
   9/14 misc.R: vetr:::hash_fun(c("f b", "n b", "n d", "t m", "b r", "n w", "q w",
  [1] 193 193 193 193 193 193 193 193
   9/14 misc.R: unitizer_sect("bench_mark", {
   9/14 misc.R: capt_wo_time <- function(x) {
   9/14 misc.R: capt_wo_time(bench_mark(Sys.sleep(1.2), times = 1))
  [1] "Mean eval time from 1 iteration, in seconds:"
  [2] "  Sys.sleep(1.2)  ~"                         
   9/14 misc.R: capt_wo_time(bench_mark(Sys.sleep(0.01), times = 10))
  [1] "Mean eval time from 10 iterations, in milliseconds:"
  [2] "  Sys.sleep(0.01)  ~"                               
   9/14 misc.R: capt_wo_time(bench_mark(1 + 1, NULL, times = 100))
  [1] "Mean eval time from 100 iterations, in microseconds:"
  [2] "  1 + 1  ~"                                          
  [3] "  NULL   ~"                                          
   9/14 misc.R: unitizer_sect("sort pair lists", {
   9/14 misc.R: vetr:::list_as_sorted_vec(pairlist(c = 1, a = list(), b = NULL))
  $a
  list()
  
  $b
  NULL
  
  $c
  [1] 1
  
   9/14 misc.R: vetr:::list_as_sorted_vec(pairlist(b = 1, 2, a = 3))
  [[1]]
  [1] 2
  
  $a
  [1] 3
  
  $b
  [1] 1
  
   9/14 misc.R: vetr:::list_as_sorted_vec(pairlist())
  list()
   9/14 misc.R: vetr:::list_as_sorted_vec(pairlist(a = 1))
  $a
  [1] 1
  
  
  10/14 parse.R: 
  10/14 parse.R: library(vetr)
  10/14 parse.R: unitizer_sect("name_sub", {
  10/14 parse.R: vetr:::name_sub(quote(.), quote(xyz))
  xyz
  10/14 parse.R: vetr:::name_sub(quote(.), quote(x + yz))
  x + yz
  10/14 parse.R: vetr:::name_sub(quote(.), c(1:3))
  [1] 1 2 3
  10/14 parse.R: vetr:::name_sub(quote(..), quote(xyz))
  .
  10/14 parse.R: vetr:::name_sub(quote(...), quote(xyz))
  ..
  10/14 parse.R: vetr:::name_sub(quote(.zzz), quote(xyz))
  .zzz
  10/14 parse.R: vetr:::name_sub(quote(zzz.), quote(xyz))
  zzz.
  10/14 parse.R: vetr:::name_sub(quote(zzz), quote(xyz))
  zzz
  10/14 parse.R: vetr:::name_sub(quote(a + b), quote(xyz))
  a + b
  10/14 parse.R: vetr:::name_sub(quote(. + .), quote(xyz))
  . + .
  10/14 parse.R: vetr:::name_sub(quote(.(zzz)), quote(xyz))
  .(zzz)
  10/14 parse.R: vetr:::name_sub("hello", quote(xyz))
  [1] "hello"
  10/14 parse.R: unitizer_sect("remove parens", {
  10/14 parse.R: vetr:::remove_parens(quote((a)))
  [[1]]
  a
  
  [[2]]
  [1] 0
  
  10/14 parse.R: vetr:::remove_parens(quote(.(a)))
  [[1]]
  a
  
  [[2]]
  [1] 1
  
  10/14 parse.R: vetr:::remove_parens(quote((((a)))))
  [[1]]
  a
  
  [[2]]
  [1] 0
  
  10/14 parse.R: vetr:::remove_parens(quote((.((.(a))))))
  [[1]]
  a
  
  [[2]]
  [1] 1
  
  10/14 parse.R: vetr:::remove_parens(quote((a) && .(a)))
  [[1]]
  (a) && .(a)
  
  [[2]]
  [1] 0
  
  10/14 parse.R: unitizer_sect("parse", {
  10/14 parse.R: x <- quote(.(.) && ((a)))
  10/14 parse.R: vetr:::parse_validator(x, quote(arg_to_validate))
  [[1]]
  NULL && a
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [1] 10
  
  [[2]][[3]]
  [1] 999
  
  
  [[3]]
  arg_to_validate && a
  
  10/14 parse.R: (x)
  .(.) && ((a))
  10/14 parse.R: vetr:::parse_validator(quote(FALSE), quote(arg_to_validate))
  [[1]]
  [1] FALSE
  
  [[2]]
  [1] 999
  
  [[3]]
  [1] FALSE
  
  10/14 parse.R: vetr:::parse_validator(quote(((FALSE))), quote(arg_to_validate))
  [[1]]
  [1] FALSE
  
  [[2]]
  [1] 999
  
  [[3]]
  [1] FALSE
  
  10/14 parse.R: vetr:::parse_validator(quote(((FALSE && ((TRUE))))), quote(arg_to
  [[1]]
  FALSE && TRUE
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [1] 999
  
  [[2]][[3]]
  [1] 999
  
  
  [[3]]
  FALSE && TRUE
  
  10/14 parse.R: vetr:::parse_validator(quote(.(FALSE)), quote(arg_to_validate))
  [[1]]
  [1] FALSE
  
  [[2]]
  [1] 10
  
  [[3]]
  [1] FALSE
  
  10/14 parse.R: vetr:::parse_validator(quote(.), quote(arg_to_validate))
  [[1]]
  NULL
  
  [[2]]
  [1] 10
  
  [[3]]
  arg_to_validate
  
  10/14 parse.R: vetr:::parse_validator(quote(. && a), quote(arg_to_validate))
  [[1]]
  NULL && a
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [1] 10
  
  [[2]][[3]]
  [1] 999
  
  
  [[3]]
  arg_to_validate && a
  
  10/14 parse.R: vetr:::parse_validator(quote(.(.)), quote(arg_to_validate))
  [[1]]
  NULL
  
  [[2]]
  [1] 10
  
  [[3]]
  arg_to_validate
  
  10/14 parse.R: vetr:::parse_validator(quote(((a && b) || .(.))), quote(arg_to_va
  [[1]]
  a && b || NULL
  
  [[2]]
  [[2]][[1]]
  [1] 2
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 1
  
  [[2]][[2]][[2]]
  [1] 999
  
  [[2]][[2]][[3]]
  [1] 999
  
  
  [[2]][[3]]
  [1] 10
  
  
  [[3]]
  a && b || arg_to_validate
  
  10/14 parse.R: vetr:::parse_validator(quote(matrix(nrow = 3)), quote(arg_to_vali
  [[1]]
  matrix(nrow = 3)
  
  [[2]]
  [[2]][[1]]
  [1] 999
  
  [[2]][[2]]
  [1] 999
  
  
  [[3]]
  matrix(nrow = 3)
  
  10/14 parse.R: vetr:::parse_validator(quote(matrix(nrow = 3) && .(.)), quote(arg
  [[1]]
  matrix(nrow = 3) && NULL
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[2]]
  [1] 999
  
  
  [[2]][[3]]
  [1] 10
  
  
  [[3]]
  matrix(nrow = 3) && arg_to_validate
  
  10/14 parse.R: vetr:::parse_validator(quote((a || ((b && c))) && .(a + .)), 
  [[1]]
  (a || b && c) && a + NULL
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 2
  
  [[2]][[2]][[2]]
  [1] 999
  
  [[2]][[2]][[3]]
  [[2]][[2]][[3]][[1]]
  [1] 1
  
  [[2]][[2]][[3]][[2]]
  [1] 999
  
  [[2]][[2]][[3]][[3]]
  [1] 999
  
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [1] 10
  
  [[2]][[3]][[3]]
  [1] 10
  
  
  
  [[3]]
  (a || b && c) && a + arg_to_validate
  
  10/14 parse.R: vetr:::parse_validator(quote((a || ((b && .(c)))) && (a + .(.))),
  [[1]]
  (a || b && c) && a + NULL
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 2
  
  [[2]][[2]][[2]]
  [1] 999
  
  [[2]][[2]][[3]]
  [[2]][[2]][[3]][[1]]
  [1] 1
  
  [[2]][[2]][[3]][[2]]
  [1] 999
  
  [[2]][[2]][[3]][[3]]
  [1] 10
  
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [1] 999
  
  [[2]][[3]][[3]]
  [1] 10
  
  
  
  [[3]]
  (a || b && c) && a + arg_to_validate
  
  10/14 parse.R: vetr:::parse_validator(quote(a && (b + .(c))), quote(arg_to_valid
  [[1]]
  a && b + c
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [1] 999
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [1] 999
  
  [[2]][[3]][[3]]
  [1] 10
  
  
  
  [[3]]
  a && b + c
  
  10/14 parse.R: vetr:::parse_validator(quote(a && .), "hello")
  [[1]]
  a && NULL
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [1] 999
  
  [[2]][[3]]
  [1] 10
  
  
  [[3]]
  a && "hello"
  
  10/14 parse.R: unitizer_sect("token sub", {
  10/14 parse.R: vetr:::symb_sub(INT.1)
  integer(1L) && NO.NA && NO.INF
  10/14 parse.R: vetr:::symb_sub(NO.NA)
  !is.na(.)
  attr(,"err.msg")
  [1] "%s should not contain NAs, but does"
  10/14 parse.R: unitizer_sect("preset tokens", {
  10/14 parse.R: x <- quote(integer(1L))
  10/14 parse.R: y <- quote(integer(1L) || NULL)
  10/14 parse.R: z <- quote(integer(1L) && .(!any(is.na(.))))
  10/14 parse.R: vetr:::parse_validator(quote(x), quote(w))
  [[1]]
  integer(1L)
  
  [[2]]
  [[2]][[1]]
  [1] 999
  
  [[2]][[2]]
  [1] 999
  
  
  [[3]]
  integer(1L)
  
  10/14 parse.R: vetr:::parse_validator(quote(y), quote(w))
  [[1]]
  integer(1L) || NULL
  
  [[2]]
  [[2]][[1]]
  [1] 2
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[2]]
  [1] 999
  
  
  [[2]][[3]]
  [1] 999
  
  
  [[3]]
  integer(1L) || NULL
  
  10/14 parse.R: vetr:::parse_validator(quote(z), quote(w))
  [[1]]
  integer(1L) && !any(is.na(NULL))
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[2]]
  [1] 999
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [[2]][[3]][[2]][[1]]
  [1] 10
  
  [[2]][[3]][[2]][[2]]
  [[2]][[3]][[2]][[2]][[1]]
  [1] 10
  
  [[2]][[3]][[2]][[2]][[2]]
  [1] 10
  
  
  
  
  
  [[3]]
  integer(1L) && !any(is.na(w))
  
  10/14 parse.R: vetr:::parse_validator(quote(z || NULL), quote(w))
  [[1]]
  integer(1L) && !any(is.na(NULL)) || NULL
  
  [[2]]
  [[2]][[1]]
  [1] 2
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 1
  
  [[2]][[2]][[2]]
  [[2]][[2]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[2]][[2]]
  [1] 999
  
  
  [[2]][[2]][[3]]
  [[2]][[2]][[3]][[1]]
  [1] 10
  
  [[2]][[2]][[3]][[2]]
  [[2]][[2]][[3]][[2]][[1]]
  [1] 10
  
  [[2]][[2]][[3]][[2]][[2]]
  [[2]][[2]][[3]][[2]][[2]][[1]]
  [1] 10
  
  [[2]][[2]][[3]][[2]][[2]][[2]]
  [1] 10
  
  
  
  
  
  [[2]][[3]]
  [1] 999
  
  
  [[3]]
  integer(1L) && !any(is.na(w)) || NULL
  
  10/14 parse.R: unitizer_sect("validators", {
  10/14 parse.R: vetr:::parse_validator(INT.1, quote(w))
  [[1]]
  integer(1L) && !is.na(NULL) && is.finite(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 1
  
  [[2]][[2]][[2]]
  [[2]][[2]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[2]][[2]]
  [1] 999
  
  
  [[2]][[2]][[3]]
  [[2]][[2]][[3]][[1]]
  [1] 10
  
  [[2]][[2]][[3]][[2]]
  [[2]][[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [1] 10
  
  
  
  [[3]]
  integer(1L) && !is.na(w) && is.finite(w)
  
  10/14 parse.R: vetr:::parse_validator(INT, quote(w))
  [[1]]
  integer() && !is.na(NULL) && is.finite(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 1
  
  [[2]][[2]][[2]]
  [[2]][[2]][[2]][[1]]
  [1] 999
  
  
  [[2]][[2]][[3]]
  [[2]][[2]][[3]][[1]]
  [1] 10
  
  [[2]][[2]][[3]][[2]]
  [[2]][[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [1] 10
  
  
  
  [[3]]
  integer() && !is.na(w) && is.finite(w)
  
  10/14 parse.R: vetr:::parse_validator(CHR.1, quote(w))
  [[1]]
  character(1L) && !is.na(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[2]]
  [1] 999
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[3]]
  character(1L) && !is.na(w)
  
  10/14 parse.R: vetr:::parse_validator(CHR, quote(w))
  [[1]]
  character() && !is.na(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 999
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[3]]
  character() && !is.na(w)
  
  10/14 parse.R: vetr:::parse_validator(NUM.1, quote(w))
  [[1]]
  numeric(1L) && !is.na(NULL) && is.finite(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 1
  
  [[2]][[2]][[2]]
  [[2]][[2]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[2]][[2]]
  [1] 999
  
  
  [[2]][[2]][[3]]
  [[2]][[2]][[3]][[1]]
  [1] 10
  
  [[2]][[2]][[3]][[2]]
  [[2]][[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [1] 10
  
  
  
  [[3]]
  numeric(1L) && !is.na(w) && is.finite(w)
  
  10/14 parse.R: vetr:::parse_validator(NUM, quote(w))
  [[1]]
  numeric() && !is.na(NULL) && is.finite(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 1
  
  [[2]][[2]][[2]]
  [[2]][[2]][[2]][[1]]
  [1] 999
  
  
  [[2]][[2]][[3]]
  [[2]][[2]][[3]][[1]]
  [1] 10
  
  [[2]][[2]][[3]][[2]]
  [[2]][[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [1] 10
  
  
  
  [[3]]
  numeric() && !is.na(w) && is.finite(w)
  
  10/14 parse.R: vetr:::parse_validator(LGL.1, quote(w))
  [[1]]
  logical(1L) && !is.na(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[2]]
  [1] 999
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[3]]
  logical(1L) && !is.na(w)
  
  10/14 parse.R: vetr:::parse_validator(LGL, quote(w))
  [[1]]
  logical() && !is.na(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 999
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[3]]
  logical() && !is.na(w)
  
  10/14 parse.R: vetr:::parse_validator(CPX.1, quote(w))
  [[1]]
  complex(1L) && !is.na(NULL) && is.finite(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 1
  
  [[2]][[2]][[2]]
  [[2]][[2]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[2]][[2]]
  [1] 999
  
  
  [[2]][[2]][[3]]
  [[2]][[2]][[3]][[1]]
  [1] 10
  
  [[2]][[2]][[3]][[2]]
  [[2]][[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [1] 10
  
  
  
  [[3]]
  complex(1L) && !is.na(w) && is.finite(w)
  
  10/14 parse.R: vetr:::parse_validator(CPX, quote(w))
  [[1]]
  complex() && !is.na(NULL) && is.finite(NULL)
  
  [[2]]
  [[2]][[1]]
  [1] 1
  
  [[2]][[2]]
  [[2]][[2]][[1]]
  [1] 1
  
  [[2]][[2]][[2]]
  [[2]][[2]][[2]][[1]]
  [1] 999
  
  
  [[2]][[2]][[3]]
  [[2]][[2]][[3]][[1]]
  [1] 10
  
  [[2]][[2]][[3]][[2]]
  [[2]][[2]][[3]][[2]][[1]]
  [1] 999
  
  [[2]][[2]][[3]][[2]][[2]]
  [1] 10
  
  
  
  
  [[2]][[3]]
  [[2]][[3]][[1]]
  [1] 10
  
  [[2]][[3]][[2]]
  [1] 10
  
  
  
  [[3]]
  complex() && !is.na(w) && is.finite(w)
  
  
  11/14 tev.R: 
  11/14 tev.R: library(vetr)
  11/14 tev.R: unitizer_sect("tev", {
  11/14 tev.R: tev(runif(2), numeric(2))
  [1] TRUE
  11/14 tev.R: tev(runif(3), numeric(2))
  [1] "`length(runif(3))` should be 2 (is 3)"
  
  12/14 type.R: 
  12/14 type.R: library(vetr)
  12/14 type.R: unitizer_sect("type_of", {
  12/14 type.R: type_of(1:100)
  [1] "integer"
  12/14 type.R: type_of(1.1)
  [1] "double"
  12/14 type.R: type_of(1:100 + 1)
  [1] "integer"
  12/14 type.R: type_of(1:100 + 1/1e+09)
  [1] "double"
  12/14 type.R: type_of(NA_real_)
  [1] "double"
  12/14 type.R: type_of(Inf)
  [1] "double"
  12/14 type.R: type_of(-Inf)
  [1] "double"
  12/14 type.R: unitizer_sect("type_alike", {
  12/14 type.R: type_alike(1, 1.1)
  [1] TRUE
  12/14 type.R: type_alike(1L, 1.1)
  [1] "`1.1` should be type \"integer-like\" (is \"double\")"
  12/14 type.R: type_alike(1L, 1.00000001)
  [1] "`1.00000001` should be type \"integer-like\" (is \"double\")"
  12/14 type.R: type_alike(1L, 1)
  [1] TRUE
  12/14 type.R: type_alike(1, 1.1, vetr_settings(type.mode = 1))
  [1] TRUE
  12/14 type.R: type_alike(1L, 1, vetr_settings(type.mode = 1))
  [1] "`1` should be type \"integer\" (is \"double\")"
  12/14 type.R: type_alike(1, 1L, vetr_settings(type.mode = 1))
  [1] TRUE
  12/14 type.R: type_alike(1, 1L, vetr_settings(type.mode = 2))
  [1] "`1L` should be type \"double\" (is \"integer\")"
  12/14 type.R: type_alike(1:100, 1:100 + 0)
  [1] TRUE
  12/14 type.R: type_alike(1:101, 1:101 + 0)
  [1] "`1:101 + 0` should be type \"integer\" (is \"double\")"
  12/14 type.R: type_alike(1:101, 1:101 + 0, vetr_settings(fuzzy.int.max.len = 200
  [1] TRUE
  12/14 type.R: type_alike(numeric(), c(1.1, 0.053, 41.8))
  [1] TRUE
  12/14 type.R: type_alike(numeric(), list(1.1))
  [1] "`list(1.1)` should be type \"numeric\" (is \"list\")"
  12/14 type.R: type_alike(list(), integer())
  [1] "`integer()` should be type \"list\" (is \"integer\")"
  12/14 type.R: type_alike(1000000L, 1000000L + 0.1)
  [1] "`1000000L + 0.1` should be type \"integer-like\" (is \"double\")"
  12/14 type.R: type_alike(1000000L, 1000000L + 0)
  [1] TRUE
  12/14 type.R: type_alike(data.frame(a = 1:10), list())
  [1] TRUE
  12/14 type.R: type_alike(NULL, NULL)
  [1] TRUE
  12/14 type.R: type_alike(1/0, NA)
  [1] "`NA` should be type \"numeric\" (is \"logical\")"
  12/14 type.R: type_alike(1, 1.1, vetr_settings(type.mode = 1:2))
  Error in type_alike(1, 1.1, vetr_settings(type.mode = 1:2)) : 
    Setting `type.mode` must be scalar integer (is length 2).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> type_alike
  12/14 type.R: type_alike(1, 1.1, vetr_settings(fuzzy.int.max.len = 1:2))
  Error in type_alike(1, 1.1, vetr_settings(fuzzy.int.max.len = 1:2)) : 
    Setting `fuzzy.int.max.len` must be scalar integer (is length 2).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> type_alike
  12/14 type.R: unitizer_sect("functions", {
  12/14 type.R: type_alike(sd, var)
  [1] TRUE
  12/14 type.R: type_alike(`&&`, sd)
  [1] TRUE
  12/14 type.R: type_alike(`&&`, sum)
  [1] TRUE
  12/14 type.R: type_alike(sum, sd)
  [1] TRUE
  12/14 type.R: type_alike(sum, c)
  [1] TRUE
  12/14 type.R: type_alike(`&&`, `[`)
  [1] TRUE
  12/14 type.R: type_alike(sd, 1:3)
  [1] "`1:3` should be type \"function\" (is \"integer\")"
  12/14 type.R: type_alike(sd, var, vetr_settings(type.mode = 1))
  [1] TRUE
  12/14 type.R: type_alike(`&&`, sd, vetr_settings(type.mode = 1))
  [1] "`sd` should be type \"special\" (is \"closure\")"
  12/14 type.R: type_alike(`&&`, sum, vetr_settings(type.mode = 1))
  [1] "`sum` should be type \"special\" (is \"builtin\")"
  12/14 type.R: type_alike(sum, sd, vetr_settings(type.mode = 1))
  [1] "`sd` should be type \"builtin\" (is \"closure\")"
  12/14 type.R: type_alike(sum, c, vetr_settings(type.mode = 1))
  [1] TRUE
  12/14 type.R: type_alike(`&&`, `[`, vetr_settings(type.mode = 1))
  [1] TRUE
  
  13/14 validate.R: 
  13/14 validate.R: library(vetr)
  13/14 validate.R: set.seed(1)
  13/14 validate.R: unitizer_sect("Tokens Pass", {
  13/14 validate.R: vet(INT.1, 1)
  [1] TRUE
  13/14 validate.R: vet(INT.1.POS, 1)
  [1] TRUE
  13/14 validate.R: vet(INT.1.NEG, -1)
  [1] TRUE
  13/14 validate.R: vet(INT.1.POS.STR, 1)
  [1] TRUE
  13/14 validate.R: vet(INT.1.NEG.STR, -1)
  [1] TRUE
  13/14 validate.R: vet(INT, -1:1)
  [1] TRUE
  13/14 validate.R: vet(INT.POS, 0:3)
  [1] TRUE
  13/14 validate.R: vet(INT.NEG, 0:-3)
  [1] TRUE
  13/14 validate.R: vet(INT.POS.STR, 1:3)
  [1] TRUE
  13/14 validate.R: vet(INT.NEG.STR, -(1:3))
  [1] TRUE
  13/14 validate.R: vet(NUM.1, 1.44)
  [1] TRUE
  13/14 validate.R: vet(NUM.1.POS, 1.44)
  [1] TRUE
  13/14 validate.R: vet(NUM.1.NEG, -1.44)
  [1] TRUE
  13/14 validate.R: vet(NUM, runif(5))
  [1] TRUE
  13/14 validate.R: vet(NUM.POS, runif(5))
  [1] TRUE
  13/14 validate.R: vet(NUM.NEG, -runif(5))
  [1] TRUE
  13/14 validate.R: vet(CHR, character())
  [1] TRUE
  13/14 validate.R: vet(CHR.1, "hello")
  [1] TRUE
  13/14 validate.R: vet(CHR, letters)
  [1] TRUE
  13/14 validate.R: vet(CPX, 1:10 + (0+0.5i))
  [1] TRUE
  13/14 validate.R: vet(CPX.1, 1 + (0+0.5i))
  [1] TRUE
  13/14 validate.R: vet(LGL, c(TRUE, FALSE))
  [1] TRUE
  13/14 validate.R: vet(LGL.1, TRUE)
  [1] TRUE
  13/14 validate.R: unitizer_sect("Tokens Fail", {
  13/14 validate.R: vet(INT.1, 1.2)
  [1] "`1.2` should be type \"integer-like\" (is \"double\")"
  13/14 validate.R: vet(INT.1, 1:2)
  [1] "`length(1:2)` should be 1 (is 2)"
  13/14 validate.R: vet(INT.1, NA_integer_)
  [1] "`NA_integer_` should not contain NAs, but does"
  13/14 validate.R: vet(INT.1, Inf)
  [1] "`Inf` should be type \"integer-like\" (is \"double\")"
  13/14 validate.R: vet(INT.1.POS, -1)
  [1] "`-1` should contain only positive values, but has negatives"
  13/14 validate.R: vet(INT.1.POS, 1:2)
  [1] "`length(1:2)` should be 1 (is 2)"
  13/14 validate.R: vet(INT.1.NEG, 1)
  [1] "`1` should contain only negative values, but has positives"
  13/14 validate.R: vet(INT.1.NEG, -(1:2))
  [1] "`length(-(1:2))` should be 1 (is 2)"
  13/14 validate.R: vet(INT.1.POS.STR, 0)
  [1] "`0` should contain only \"strictly positive\" values, but has zeroes or negatives"
  13/14 validate.R: vet(INT.1.NEG.STR, 0)
  [1] "`0` should contain only \"strictly negative\" values, but has zeroes or positives"
  13/14 validate.R: vet(INT, c(-1:1, NA_integer_))
  [1] "`c(-1:1, NA_integer_)` should not contain NAs, but does"
  13/14 validate.R: vet(INT, letters)
  [1] "`letters` should be type \"integer-like\" (is \"character\")"
  13/14 validate.R: vet(INT.POS, -(1:3))
  [1] "`-(1:3)` should contain only positive values, but has negatives"
  13/14 validate.R: vet(INT.NEG, 1:3)
  [1] "`1:3` should contain only negative values, but has positives"
  13/14 validate.R: vet(INT.POS.STR, 0:3)
  [1] "`0:3` should contain only \"strictly positive\" values, but has zeroes or negatives"
  13/14 validate.R: vet(INT.NEG.STR, -(0:3))
  [1] "`-(0:3)` should contain only \"strictly negative\" values, but has zeroes or positives"
  13/14 validate.R: vet(NUM.1, 1.44 + 1:2)
  [1] "`length(1.44 + 1:2)` should be 1 (is 2)"
  13/14 validate.R: vet(NUM.1.POS, -runif(1) - 1)
  [1] "`-runif(1) - 1` should contain only positive values, but has negatives"
  13/14 validate.R: vet(NUM.1.NEG, runif(1) + 1)
  [1] "`runif(1) + 1` should contain only negative values, but has positives"
  13/14 validate.R: vet(NUM, c(NA_real_, 1))
  [1] "`c(NA_real_, 1)` should not contain NAs, but does"
  13/14 validate.R: vet(NUM, NULL)
  [1] "`NULL` should be type \"numeric\" (is \"NULL\")"
  13/14 validate.R: vet(NUM.POS, -runif(5) - 1)
  [1] "`-runif(5) - 1` should contain only positive values, but has negatives"
  13/14 validate.R: vet(NUM.NEG, runif(5) + 1)
  [1] "`runif(5) + 1` should contain only negative values, but has positives"
  13/14 validate.R: vet(CHR.1, letters)
  [1] "`length(letters)` should be 1 (is 26)"
  13/14 validate.R: vet(CHR, list(1, 2, 3))
  [1] "`list(1, 2, 3)` should be type \"character\" (is \"list\")"
  13/14 validate.R: vet(CPX, list(1, 2, 3))
  [1] "`list(1, 2, 3)` should be type \"complex\" (is \"list\")"
  13/14 validate.R: vet(CPX.1, list(1, 2, 3))
  [1] "`list(1, 2, 3)` should be type \"complex\" (is \"list\")"
  13/14 validate.R: vet(LGL, NA)
  [1] "`NA` should not contain NAs, but does"
  13/14 validate.R: vet(LGL, letters)
  [1] "`letters` should be type \"logical\" (is \"character\")"
  13/14 validate.R: vet(LGL.1, 1:2 == 1:2)
  [1] "`length(1:2 == 1:2)` should be 1 (is 2)"
  13/14 validate.R: unitizer_sect("Custom expressions", {
  13/14 validate.R: vet(. > 5, 1:10)
  [1] "`1:10 > 5` is not all TRUE (contains non-TRUE values)"
  13/14 validate.R: vet(. > 5, 6:10)
  [1] TRUE
  13/14 validate.R: vet(.(c(TRUE, NA, TRUE)), 1:5)
  [1] "`c(TRUE, NA, TRUE)` is not TRUE (contains NAs)"
  13/14 validate.R: vet(.(1:5), 1:5)
  [1] "`1:5` is not TRUE (is \"integer\" instead of a \"logical\")"
  13/14 validate.R: vet(.(1:5, 1:5), 1:5)
  Error in vet(.(1:5, 1:5), 1:5) : 
    `.(` must be used with only one argument.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: vet(.(list(1, 2, 3)), 1:3)
  [1] "`list(1, 2, 3)` is not TRUE (is \"list\" instead of a \"logical\")"
  13/14 validate.R: vet(.(c("hello world", "goodbye moon")), 1:3)
  [1] "`c(\"hello world\", \"goodbye moon\")` is not TRUE (is chr [1:2]: \"hello world\" ...)"
  13/14 validate.R: unitizer_sect("Compound Expressions", {
  13/14 validate.R: vet(INT.1 || NULL, 1)
  [1] TRUE
  13/14 validate.R: vet(INT.1 || NULL, NULL)
  [1] TRUE
  13/14 validate.R: vet(INT.1 || NULL, 1.4)
  [1] "`1.4` should be `NULL`, or type \"integer-like\" (is \"double\")"
  13/14 validate.R: vet(INT.1 || NULL || character(3L), 1)
  [1] TRUE
  13/14 validate.R: vet(INT.1 || NULL || character(3L), 1.2)
  [1] "`1.2` should be `NULL`, type \"character\", or type \"integer-like\" (is \"double\")"
  13/14 validate.R: vet(INT.1 || NULL || character(3L), letters)
  [1] "At least one of these should pass:"                                         
  [2] "  - `length(letters)` should be 3 (is 26)"                                  
  [3] "  - `letters` should be `NULL`, or type \"integer-like\" (is \"character\")"
  13/14 validate.R: vet((matrix(integer(), 0) && nrow(.) == ncol(.)) || NULL, matr
  [1] TRUE
  13/14 validate.R: vet((matrix(integer(), 0) && nrow(.) == ncol(.)) || NULL, matr
  [1] "At least one of these should pass:"                                                    
  [2] "  - `matrix(1:16, nrow = 2)` should be `NULL` (is \"integer\")"                        
  [3] "  - `nrow(matrix(1:16, nrow = 2)) == ncol(matrix(1:16, nrow = 2))` is not TRUE (FALSE)"
  13/14 validate.R: vet((matrix(integer(), 0) && nrow(.) == ncol(.)) || NULL, matr
  [1] "`matrix(runif(16), nrow = 4)` should be `NULL`, or type \"integer-like\" (is \"double\")"
  13/14 validate.R: exp.a <- quote(all(. > 0))
  13/14 validate.R: exp.b <- quote(is.vector(.))
  13/14 validate.R: vet(exp.a && exp.b, -(1:3))
  [1] "`all(-(1:3) > 0)` is not TRUE (FALSE)"
  13/14 validate.R: local({
  [1] TRUE
  13/14 validate.R: vet(1 || "a" || 1 || "a" || 1 || letters, 1:3)
  [1] "At least one of these should pass:"                     
  [2] "  - `1:3` should be type \"character\" (is \"integer\")"
  [3] "  - `length(1:3)` should be 1 (is 3)"                   
  13/14 validate.R: unitizer_sect("Other Return Modes", {
  13/14 validate.R: vet(INT.1 || NULL || LGL, "hello", format = "text")
  [1] "`\"hello\"` should be `NULL`, type \"integer-like\", or type \"logical\" (is \"character\")"
  13/14 validate.R: vet(INT.1 || NULL || LGL, "hello", format = "raw")
  [1] "`\"hello\"` should be `NULL`, type \"integer-like\", or type \"logical\" (is \"character\")"
  13/14 validate.R: vet(INT.1 || NULL || LGL, "hello", format = "full")
  [1] "For argument `current`, `\"hello\"` should be `NULL`, type \"integer-like\", or type \"logical\" (is \"character\")"
  13/14 validate.R: vet(INT.1 || NULL || LGL, "hello", format = "halloween")
  Error in vet(INT.1 || NULL || LGL, "hello", format = "halloween") : 
    `vet` usage error: argument `format` must be one of "text", "raw", "full"
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: vet(INT.1 || NULL || LGL, "hello", format = 1:10)
  Error in vet(INT.1 || NULL || LGL, "hello", format = 1:10) : 
    `vet` usage error: argument `format` must be character(1L).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: vet(INT.1 || NULL || LGL, "hello", format = "text", stop = TRU
  Error in vet(INT.1 || NULL || LGL, "hello", format = "text", stop = TRUE) : 
    `"hello"` should be `NULL`, type "integer-like", or type "logical" (is "character")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: vet(INT.1 || NULL || LGL, "hello", format = "text", stop = 1:3
  Error in vet(INT.1 || NULL || LGL, "hello", format = "text", stop = 1:3) : 
    `vet` usage error: argument `stop` must be TRUE or FALSE.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: unitizer_sect("Multi-line Stuff", {
  13/14 validate.R: vet(NO.NA, c(234234131431, 123413413413, 1341341341, 123412341
  [1] "c(234234131431, 123413413413, 1341341341, 12341234134, 562456234, \n    24624624, 2452345234, 2345234524, 23452452, 2243524352, 254254234, \n    2452452435, NA)\n should not contain NAs, but does"
  13/14 validate.R: vet(NO.NA || !anyNA(.), c(234234131431, 123413413413, 13413413
  [1] "At least one of these should pass:"                                                                                                                                                                                 
  [2] "  - !anyNA(c(234234131431, 123413413413, 1341341341, 12341234134, \n        562456234, 24624624, 2452345234, 2345234524, 23452452, 2243524352, \n        254254234, 2452452435, NA))\n    is not TRUE (FALSE)"      
  [3] "  - c(234234131431, 123413413413, 1341341341, 12341234134, 562456234, \n        24624624, 2452345234, 2345234524, 23452452, 2243524352, 254254234, \n        2452452435, NA)\n     should not contain NAs, but does"
  13/14 validate.R: vet(!anyNA(.), c(234234131431, 123413413413, 1341341341, 12341
  [1] "!anyNA(c(234234131431, 123413413413, 1341341341, 12341234134, \n    562456234, 24624624, 2452345234, 2345234524, 23452452, 2243524352, \n    254254234, 2452452435, NA))\nis not TRUE (FALSE)"
  13/14 validate.R: vet(!anyNA(.), c(234234131431, 123413413413, NA))
  [1] "`!anyNA(c(234234131431, 123413413413, NA))` is not TRUE (FALSE)"
  13/14 validate.R: val.exp <- quote(!anyNA(.))
  13/14 validate.R: vet(val.exp, c(234234131431, 123413413413, NA))
  [1] "`!anyNA(c(234234131431, 123413413413, NA))` is not TRUE (FALSE)"
  13/14 validate.R: unitizer_sect("Embedded String Errors", {
  13/14 validate.R: vet(all_bw(., 0, 1), 0:5)
  [1] "`all_bw(0:5, 0, 1)` is not TRUE (is chr: \"`2` at index 3 not in `[0,1]`\")"
  13/14 validate.R: vet(all.equal(., 1:5), 1:6)
  [1] "`all.equal(1:6, 1:5)` is not TRUE (is chr: \"Numeric: lengths (6, 5) differ\")"
  13/14 validate.R: unitizer_sect("Language", {
  13/14 validate.R: vet(quote(quote(a + b)), quote(x2 + x3))
  [1] "`quote(x2 + x3)[[1]]` should be a call to `quote` (is a call to `+`)"
  13/14 validate.R: x <- quote(quote(a + b))
  13/14 validate.R: vet(x, quote(x2 + x3))
  [1] TRUE
  13/14 validate.R: vet(quote(a + b), quote(2 + x3))
  [1] "`quote(2 + x3)[[2]]` should be \"symbol\" (is \"double\")"
  13/14 validate.R: vet(quote(a + b), quote(x1 + x2 + x3))
  [1] "`quote(x1 + x2 + x3)[[2]]` should be \"symbol\" (is \"language\")"
  13/14 validate.R: unlist(lapply(c("aaA", "bbB", "ccC", "ddD", "eeE"), find))
  character(0)
  13/14 validate.R: x <- quote(aaA + bbB)
  13/14 validate.R: my.env <- new.env()
  13/14 validate.R: my.env$y <- quote(ccC - ddD)
  13/14 validate.R: evalq(vet(quote(x * y), quote(A * (B - C))), envir = my.env)
  [1] "`quote(A * (B - C))[[2]]` should be a call to `+` (is \"symbol\")"
  13/14 validate.R: evalq(vet(quote(eeE * y), quote(A * (B - C))), envir = my.env)
  [1] TRUE
  13/14 validate.R: evalq(vet(quote(x * y), quote((A + D) * (B - C))), envir = my.
  [1] TRUE
  13/14 validate.R: expA <- expB <- expC <- expD <- expE <- 0
  13/14 validate.R: expA <- quote(expB && expC)
  13/14 validate.R: expB <- quote(expD * expE)
  13/14 validate.R: expE <- quote(expA || expD)
  13/14 validate.R: vet(expA, TRUE)
  Error in vet(expA, TRUE) : 
    Possible infinite recursion encountered when substituting symbol `expA`. `vetr` recursively substitutes the vetting expressions. See `vignette('vetr', package='vetr')`, "Non Standard Evaluation" section.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: expE <- quote(expA)
  13/14 validate.R: vet(expA, TRUE)
  Error in vet(expA, TRUE) : 
    Possible infinite recursion encountered when substituting symbol `expA`. `vetr` recursively substitutes the vetting expressions. See `vignette('vetr', package='vetr')`, "Non Standard Evaluation" section.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: . <- quote(. > 0)
  13/14 validate.R: vet(.., 1.4)
  [1] TRUE
  13/14 validate.R: . <- quote(numeric(1L))
  13/14 validate.R: vet(.., 1.5)
  [1] TRUE
  13/14 validate.R: unitizer_sect("Errors", {
  13/14 validate.R: vet(1, 1, env = "hello")
  Error in vet(1, 1, env = "hello") : 
    `vet` usage error: argument `env` must be an environment (is character).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: unitizer_sect("Custom tokens", {
  13/14 validate.R: cust.tok.1 <- vet_token(quote(TRUE), "%sshould be logical(1L)"
  13/14 validate.R: vet(cust.tok.1, TRUE)
  [1] TRUE
  13/14 validate.R: vet(cust.tok.1, 1:2)
  [1] "`1:2` should be type \"logical\" (is \"integer\")"
  13/14 validate.R: vet_token(quote(TRUE), "should be logical(1L)")
  Error in vet_token(quote(TRUE), "should be logical(1L)") : 
    Argument `err.msg` must be character(1L) and contain a single '%s' for use by `sprintf`.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet_token
  13/14 validate.R: vet_token(quote(TRUE), letters)
  Error in vet_token(quote(TRUE), letters) : 
    Argument `err.msg` must be character(1L) and contain a single '%s' for use by `sprintf`.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet_token
  13/14 validate.R: cust.tok.2 <- quote(. > 2)
  13/14 validate.R: attr(cust.tok.2, "err.msg") <- letters
  13/14 validate.R: vet(cust.tok.2, TRUE)
  Error in vet(cust.tok.2, TRUE) : 
    "err.msg" attribute for validation token for argument `current` must be a one length character vector.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: unitizer_sect("Result Buffer", {
  13/14 validate.R: set1 <- vetr_settings(result.list.size.init = 1)
  13/14 validate.R: vet.exp <- quote(1 || 1:2 || 1:3 || 1:4 || 1:5 || 1:6 || 1:7 |
  13/14 validate.R: vet(vet.exp, 1:8, settings = set1)
  [1] TRUE
  13/14 validate.R: vet(vet.exp, 1:9, settings = set1)
  [1] "`length(1:9)` should be 1, 2, 3, 4, 5, 6, 7, or 8 (is 9)"
  13/14 validate.R: set2 <- vetr_settings(result.list.size.init = 1, result.list.s
  13/14 validate.R: vet(vet.exp, 1:8, settings = set2)
  Error in vet(vet.exp, 1:8, settings = set2) : 
    Reached maximum vet token result buffer size (7); this should only happen if you have more than that number of tokens compounded with `||`.  If that is the case, see description of `result.list.size` parameter for `?vetr_settings`.  If not, contact maintainer.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: vet(vet.exp, 1:9, settings = set2)
  Error in vet(vet.exp, 1:9, settings = set2) : 
    Reached maximum vet token result buffer size (7); this should only happen if you have more than that number of tokens compounded with `||`.  If that is the case, see description of `result.list.size` parameter for `?vetr_settings`.  If not, contact maintainer.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: set3 <- vetr_settings(result.list.size.init = 1, result.list.s
  13/14 validate.R: vet(vet.exp, 1:8, settings = set3)
  [1] TRUE
  13/14 validate.R: vet(vet.exp, 1:9, settings = set3)
  [1] "`length(1:9)` should be 1, 2, 3, 4, 5, 6, 7, or 8 (is 9)"
  13/14 validate.R: set4 <- vetr_settings(result.list.size.init = "hello", result.
  13/14 validate.R: set5 <- vetr_settings(result.list.size.init = 1, result.list.s
  13/14 validate.R: vet(1, 1, settings = set4)
  Error in vet(1, 1, settings = set4) : 
    Setting `result.list.size.init` must be integer-like (is character).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: vet(1, 1, settings = set5)
  Error in vet(1, 1, settings = set5) : 
    Setting `result.list.size.max` must be integer-like (is character).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  13/14 validate.R: unitizer_sect("pkg::fun calls (issue #100)", {
  13/14 validate.R: vet(base::sum(.), 1:10)
  [1] "{base::sum(1:10)} is not TRUE (is \"integer\" instead of a \"logical\")"
  13/14 validate.R: vet((base::.)(identity), is.function)
  [1] TRUE
  13/14 validate.R: vet((base::.)(identity), is.integer)
  [1] "{base::is.integer(identity)} is not TRUE (FALSE)"
  
  14/14 validate.args.R: 
  14/14 validate.args.R: library(vetr)
  14/14 validate.args.R: unitizer_sect("Single template validation", {
  14/14 validate.args.R: fun0 <- function(x, y, z) vetr(x = matrix(integer(), ncol
  14/14 validate.args.R: fun0(1, 2, 3)
  Error in fun0(x = 1, y = 2, z = 3) : 
    For argument `x`, `1` should be "matrix" (is "numeric")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun0 -> vetr
  14/14 validate.args.R: fun0(matrix(1), 2, 3)
  Error in fun0(x = matrix(1), y = 2, z = 3) : 
    For argument `x`, `matrix(1)` should have 3 columns (has 1)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun0 -> vetr
  14/14 validate.args.R: fun0(matrix(1:3, nrow = 1), 2, 3)
  Error in fun0(x = matrix(1:3, nrow = 1), y = 2, z = 3) : 
    For argument `y`, `length(2)` should be 2 (is 1)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun0 -> vetr
  14/14 validate.args.R: fun0(matrix(1:3, nrow = 1), 2:3, 3)
  Error in fun0(x = matrix(1:3, nrow = 1), y = 2:3, z = 3) : 
    For argument `z`, `3` should be type "logical" (is "double")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun0 -> vetr
  14/14 validate.args.R: fun0(matrix(1:3, nrow = 1), c(2, 3), 3)
  Error in fun0(x = matrix(1:3, nrow = 1), y = c(2, 3), z = 3) : 
    For argument `z`, `3` should be type "logical" (is "double")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun0 -> vetr
  14/14 validate.args.R: fun0(matrix(1:3, nrow = 1), c(2, 3), TRUE)
  [1] TRUE
  14/14 validate.args.R: unitizer_sect("Multi-template validation", {
  14/14 validate.args.R: fun1 <- function(x, y, z) vetr(x = matrix(integer(), ncol
  14/14 validate.args.R: fun1(1:3, "fail", "fail")
  Error in fun1(x = 1:3, y = "fail", z = "fail") : 
    For argument `y`, `"fail"` should be `NULL`, type "integer-like", or type "logical" (is "character")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun1 -> vetr
  14/14 validate.args.R: fun1(matrix(1:9, ncol = 3), "fail", "fail")
  Error in fun1(x = matrix(1:9, ncol = 3), y = "fail", z = "fail") : 
    For argument `y`, `"fail"` should be `NULL`, type "integer-like", or type "logical" (is "character")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun1 -> vetr
  14/14 validate.args.R: fun1(letters[1:3], "fail", "fail")
  Error in fun1(x = letters[1:3], y = "fail", z = "fail") : 
    For argument `x`, `letters[1:3]` should be "matrix", or type "integer-like" (is "character")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun1 -> vetr
  14/14 validate.args.R: fun1(1:3, 1:2, "fail")
  Error in fun1(x = 1:3, y = 1:2, z = "fail") : 
    For argument `z`, `"fail"` should be type "logical" (is "character")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun1 -> vetr
  14/14 validate.args.R: fun1(1:3, NULL, "fail")
  Error in fun1(x = 1:3, y = NULL, z = "fail") : 
    For argument `z`, `"fail"` should be type "logical" (is "character")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun1 -> vetr
  14/14 validate.args.R: fun1(1:3, FALSE, "fail")
  Error in fun1(x = 1:3, y = FALSE, z = "fail") : 
    For argument `z`, `"fail"` should be type "logical" (is "character")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun1 -> vetr
  14/14 validate.args.R: fun1(1:3, FALSE, FALSE)
  [1] TRUE
  14/14 validate.args.R: unitizer_sect("Template and Straight Eval", {
  14/14 validate.args.R: fun2 <- function(x, y, z) vetr(x = (matrix(integer(), nco
  14/14 validate.args.R: fun2(matrix(c(1:8, NA), nrow = 3), NULL, NULL)
  Error in fun2(x = matrix(c(1:8, NA), nrow = 3), y = NULL, z = NULL) : 
    For argument `x`, `!any(is.na(matrix(c(1:8, NA), nrow = 3)))` is not TRUE (FALSE)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun2 -> vetr
  14/14 validate.args.R: fun2(matrix(c(1:9), nrow = 3), -1:1, NULL)
  Error in fun2(x = matrix(c(1:9), nrow = 3), y = -1:1, z = NULL) : 
    For argument `y`, `all(-1:1 > 0)` is not TRUE (FALSE)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun2 -> vetr
  14/14 validate.args.R: fun2(matrix(c(1:9), nrow = 3), 1:3, NA)
  Error in fun2(x = matrix(c(1:9), nrow = 3), y = 1:3, z = NA) : 
    For argument `z`, `!is.na(NA)` is not TRUE (FALSE)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun2 -> vetr
  14/14 validate.args.R: fun2(matrix(c(1:9), nrow = 3), 1:3, TRUE)
  [1] TRUE
  14/14 validate.args.R: unitizer_sect("Complex OR outcomes", {
  14/14 validate.args.R: fun2a <- function(x) vetr(x = setNames(character(3L), let
  14/14 validate.args.R: fun2a(letters[1:3])
  Error in fun2a(x = letters[1:3]) : 
    For argument `x` at least one of these should pass:
    - `letters[1:3]` should be "matrix", or type "list" (is "character")
    - `letters[1:3]` should have attribute "names"
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun2a -> vetr
  14/14 validate.args.R: unitizer_sect("Errors in Arguments", {
  14/14 validate.args.R: fun3 <- function(x, y) vetr(x = logical(1L), y = integer(
  14/14 validate.args.R: fun3(stop("boom"))
  Error: boom
  Error in fun3(x = stop("boom")) : 
    Argument `x` produced error during evaluation; see previous error.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun3 -> vetr
  14/14 validate.args.R: fun3(TRUE, stop("boomBOOM"))
  Error: boomBOOM
  Error in fun3(x = TRUE, y = stop("boomBOOM")) : 
    Argument `y` produced error during evaluation; see previous error.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun3 -> vetr
  14/14 validate.args.R: fun3(1:3, stop("boomBOOM"))
  Error in fun3(x = 1:3, y = stop("boomBOOM")) : 
    For argument `x`, `1:3` should be type "logical" (is "integer")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun3 -> vetr
  14/14 validate.args.R: fun4 <- function(x, y) vetr(x = stop("BOOM"), y = integer
  14/14 validate.args.R: fun4(NULL, 1:3)
  Error: BOOM
  Error in vetr(x = stop("BOOM"), y = integer(3L)) : 
    Validation expression for argument `x` produced an error (see previous error).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun4 -> vetr
  14/14 validate.args.R: fun5 <- function(x, y) vetr(x = integer(3L), y = NULL || 
  14/14 validate.args.R: fun5(1:3, NULL)
  [1] TRUE
  14/14 validate.args.R: fun5(1:2, NULL)
  Error in fun5(x = 1:2, y = NULL) : 
    For argument `x`, `length(1:2)` should be 3 (is 2)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun5 -> vetr
  14/14 validate.args.R: fun6 <- function(x, y) vetr(x = integer(3L), y = NULL && 
  14/14 validate.args.R: fun6(1:3, NULL)
  Error: hah
  Error in vetr(x = integer(3L), y = NULL && .(stop("hah"))) : 
    Validation expression for argument `y` produced an error (see previous error).
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun6 -> vetr
  14/14 validate.args.R: unitizer_sect("Args evaled in correct env?", {
  14/14 validate.args.R: fun7 <- function(x, y = z + 2) {
  14/14 validate.args.R: fun7a <- function(x, y = z + 2) {
  14/14 validate.args.R: z <- 1
  14/14 validate.args.R: fun7(TRUE)
  Error in z + 2 : non-numeric argument to binary operator
  Error in fun7(x = TRUE) : 
    Argument `y` produced error during evaluation; see previous error.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun7 -> vetr
  14/14 validate.args.R: fun7a(TRUE)
  [1] TRUE
  14/14 validate.args.R: fun8 <- function(x, y = z + 2) {
  14/14 validate.args.R: fun8a <- function(x, y = z + 2) {
  14/14 validate.args.R: a <- NULL
  14/14 validate.args.R: b <- TRUE
  14/14 validate.args.R: fun8(a && b)
  Error in a && b : invalid 'x' type in 'x && y'
  Error in fun8(x = a && b) : 
    Argument `x` produced error during evaluation; see previous error.
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun8 -> vetr
  14/14 validate.args.R: a <- TRUE
  14/14 validate.args.R: fun8a(a && b)
  [1] TRUE
  14/14 validate.args.R: fun_make <- function() {
  14/14 validate.args.R: fun <- fun_make()
  14/14 validate.args.R: a <- b <- 1:9
  14/14 validate.args.R: local({
  Error in fun(x = a) : 
    For argument `x`, `a` should be "matrix" (is "character")
  Calls: local ... eval.parent -> eval -> eval -> eval -> eval -> fun -> vetr
  14/14 validate.args.R: local({
  Error in fun(x = b) : 
    For argument `x`, `b` should be "matrix" (is "character")
  Calls: local ... eval.parent -> eval -> eval -> eval -> eval -> fun -> vetr
  14/14 validate.args.R: fun8b <- function(x) vetr(x = length(.) > 0 && integer())
  14/14 validate.args.R: get("zfqwefkj")
  Error in get("zfqwefkj") : object 'zfqwefkj' not found
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> get
  14/14 validate.args.R: local({
  [1] TRUE
  14/14 validate.args.R: unitizer_sect("Compound Expression Scope Issues", {
  14/14 validate.args.R: a <- quote(!anyNA(.))
  14/14 validate.args.R: fun <- function(x) {
  14/14 validate.args.R: fun(-(1:3))
  Error in fun(x = -(1:3)) : 
    For argument `x`, `all(-(1:3) > 0)` is not TRUE (FALSE)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun -> vetr
  14/14 validate.args.R: unitizer_sect("Non-equal args and validation exps", {
  14/14 validate.args.R: fun8 <- function(x = "hello", y = TRUE, z) vetr(x = integ
  14/14 validate.args.R: fun8(1L, NULL, 1:2)
  [1] TRUE
  14/14 validate.args.R: fun8(1L, 1:2, NULL)
  Error in fun8(x = 1L, y = 1:2, z = NULL) : 
    For argument `z`, `NULL` should be type "integer-like" (is "NULL")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun8 -> vetr
  14/14 validate.args.R: fun8(1L, 1:2)
  Error in fun8(x = 1L, y = 1:2) : argument `z` is missing, with no default
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun8 -> vetr
  14/14 validate.args.R: fun8(1L)
  Error in fun8(x = 1L) : argument `z` is missing, with no default
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun8 -> vetr
  14/14 validate.args.R: fun8(z = 1:2)
  Error in fun8(z = 1:2) : 
    For argument `x`, `"hello"` should be type "integer-like" (is "character")
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun8 -> vetr
  14/14 validate.args.R: unitizer_sect("Referencing argument in vet exp error", {
  14/14 validate.args.R: fun1 <- function(x, y) vetr(x > 0, . < 3)
  14/14 validate.args.R: fun1(1:10, 1:10)
  Error in vetr(x > 0, . < 3) : 
    vet/vetr usage error: found symbol `x` in vetting token for object with the same symbol.  Please use `.` to reference the object being checked by the vetting token (e.g. use `vet(. > 0, x)` instead of `vet(x > 0, x)`)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun1 -> vetr
  14/14 validate.args.R: fun2 <- function(x, y) vetr(. > 0 && all(y > 0), y < 3)
  14/14 validate.args.R: fun2(TRUE, 1:10)
  Error in vetr(. > 0 && all(y > 0), y < 3) : 
    vet/vetr usage error: found symbol `y` in vetting token for object with the same symbol.  Please use `.` to reference the object being checked by the vetting token (e.g. use `vet(. > 0, x)` instead of `vet(x > 0, x)`)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun2 -> vetr
  14/14 validate.args.R: x <- 1:10
  14/14 validate.args.R: vet(x > 0, x)
  Error in vet(x > 0, x) : 
    vet/vetr usage error: found symbol `x` in vetting token for object with the same symbol.  Please use `.` to reference the object being checked by the vetting token (e.g. use `vet(. > 0, x)` instead of `vet(x > 0, x)`)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> vet
  14/14 validate.args.R: vet((x + 1) > 0, x + 1)
  [1] "`x + 1` should be type \"logical\" (is \"double\")"
  14/14 validate.args.R: unitizer_sect("Default arg mix-up", {
  14/14 validate.args.R: fun10a <- function(x, y = TRUE, z = 999) vetr(INT, LGL.1,
  14/14 validate.args.R: fun10a(1, z = 1:3)
  Error in fun10a(x = 1, z = 1:3) : 
    For argument `z`, `length(1:3)` should be 1 (is 3)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun10a -> vetr
  14/14 validate.args.R: fun10b <- function(x, y = TRUE, z = 999) vetr(INT, z = IN
  14/14 validate.args.R: fun10b(1, z = 1:3)
  Error in fun10b(x = 1, z = 1:3) : 
    For argument `z`, `length(1:3)` should be 1 (is 3)
  Calls: local ... withCallingHandlers -> eval -> eval -> withVisible -> fun10b -> vetr
  14/14 validate.args.R: unitizer_sect("Dots", {
  14/14 validate.args.R: f <- function(x, y = 1L, z = 1L, ...) vetr(1L, 1L, 1L)
  14/14 validate.args.R: f(2L, w = 3L)
  [1] TRUE
  14/14 validate.args.R: f <- function(x, y = 1L, ...) vetr(1L, 1L, 1L)
  14/14 validate.args.R: f(2L, z = 3L)
  Warning in vetr(1L, 1L, 1L) : `...` vetting is not supported.
  [1] TRUE
  
  Prepping Unitizers...
  Warning in history_capt(history, interactive.mode) :
    Unable to capture history in non-interactive mode.
  
  | Summary of files in common directory 'unitizer':
  | 
  |                       Pass Fail
  |   1.      abstract.R    35    -
  |   2.         alike.R   198    -
  |   3.        all-bw.R   207    -
  |   4.       classes.R    22    -
  |  *5.      cstringr.R    82    1
  |   6.          eval.R    30    -
  |   7.      internal.R   187    -
  |   8.      language.R    55    -
  |   9.          misc.R    17    -
  |  10.         parse.R    49    -
  |  11.           tev.R     2    -
  |  12.          type.R    41    -
  |  13.      validate.R   115    -
  |  14. validate.args.R    47    -
  | ...............................
  |                       1087    1
  | Legend:
  | * `unitizer` requires review
  
  +------------------------------------------------------------------------------+
  | unitizer for: unitizer/cstringr.R                                            |
  +------------------------------------------------------------------------------+
  
                                         Pass Fail
                            Basic Tests    25    -
                   numbers as character    12    -
                              smprintf6     4    -
                           Corner Cases     9    -
                                 substr    13    -
                                nchar_u     2    -
                           char_offsets     2    -
            UTF8 corner cases, in UTF-8    11    1
   UTF-8 corner cases - other encodings     4    -
  ................................................
                                           82    1
  
  = UTF8 corner cases, in UTF-8 ==================================================
  
  - Failed -----------------------------------------------------------------------
  
  | The following test failed because the new evaluation does not match the 
  | reference value from the store. Overwrite with new result ([Y]es, [N]o, 
  | [P]rev, [B]rowse, [R]erun, [Q]uit, [H]elp)?
  
  > test.start <- grep("^Here come the tests:", utf8.kuhn)
  
  | Running in transcript mode: stderr was not captured so if there was any it 
  | would have been output during evaluation; see earlier output.
  
  
  | Value mismatch: 
  
  < .ref                   > .new                 
  @@ 1 @@                  @@ 1 @@                
  < <object not recorded>  > [1] 81               
  
  | Conditions mismatch: 
  
  < .REF$conditions                                                               
  > .NEW$conditions                                                               
  @@ 1 / 1,198 @@                                                                 
  < Empty condition list                                                          
  > Condition list with 67 conditions:                                            
  >  1. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.1.1  First continuation byte 0x80: "<80>"                              
  >            |' to a wide string                                                
  >  2. Warning in grep("^Here come the tests:", utf8.kuhn) : input string 122 is 
  >     invalid                                                                   
  >  3. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.1.2  Last  continuation byte 0xbf: "<bf>"                              
  >            |' to a wide string                                                
  >  4. Warning in grep("^Here come the tests:", utf8.kuhn) : input string 123 is 
  >     invalid                                                                   
  >  5. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.1.3  2 continuation bytes: "<80><bf>"                                  
  >               |' to a wide string                                             
  >  6. Warning in grep("^Here come the tests:", utf8.kuhn) : input string 125 is 
  >     invalid                                                                   
  >  7. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.1.4  3 continuation bytes: "<80><bf><80>"                              
  >                  |' to a wide string                                          
  >  8. Warning in grep("^Here come the tests:", utf8.kuhn) : input string 126 is 
  >     invalid                                                                   
  >  9. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.1.5  4 continuation bytes: "<80><bf><80><bf>"                          
  >                     |' to a wide string                                       
  > 10. Warning in grep("^Here come the tests:", utf8.kuhn) : input string 127 is 
  >     invalid                                                                   
  > 11. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.1.6  5 continuation bytes: "<80><bf><80><bf><80>"                      
  >                        |' to a wide string                                    
  > 12. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.1.7  6 continuation bytes: "<80><bf><80><bf><80><bf>"                  
  >                           |' to a wide string                                 
  > 13. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.1.8  7 continuation bytes: "<80><bf><80><bf><80><bf><80>"              
  >                              |' to a wide string                              
  > 14. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '   "<80><81><82><83><84><85><86><87><88><89><8a><8b><8c><8d><8e><8f>     
  >                                                         |' to a wide string   
  > 15. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '    <90><91><92><93><94><95><96><97><98><99><9a><9b><9c><9d><9e><9f>     
  >                                                         |' to a wide string   
  > 16. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '    <a0><a1><a2><a3><a4><a5><a6><a7><a8><a9><aa><ab><ac><ad><ae><af>     
  >                                                         |' to a wide string   
  > 17. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '    <b0><b1><b2><b3><b4><b5><b6><b7><b8><b9><ba><bb><bc><bd><be><bf>"    
  >                                                         |' to a wide string   
  > 18. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '   "<c0> <c1> <c2> <c3> <c4> <c5> <c6> <c7> <c8> <c9> <ca> <cb> <cc> <cd>
  >     <ce> <cf>                                           |' to a wide string   
  > 19. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '    <d0> <d1> <d2> <d3> <d4> <d5> <d6> <d7> <d8> <d9> <da> <db> <dc> <dd>
  >     <de> <df> "                                         |' to a wide string   
  > 20. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '   "<e0> <e1> <e2> <e3> <e4> <e5> <e6> <e7> <e8> <e9> <ea> <eb> <ec> <ed>
  >     <ee> <ef> "                                         |' to a wide string   
  > 21. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '   "<f0> <f1> <f2> <f3> <f4> <f5> <f6> <f7> "                            
  >                                 |' to a wide string                           
  > 22. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '   "<f8> <f9> <fa> <fb> "                                                
  >                     |' to a wide string                                       
  > 23. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '   "<fc> <fd> "                                                          
  >               |' to a wide string                                             
  > 24. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.1  2-byte sequence with last byte missing (U+0000):     "<c0>"       
  >            |' to a wide string                                                
  > 25. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.2  3-byte sequence with last byte missing (U+0000):     "<e0><80>"   
  >                |' to a wide string                                            
  > 26. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.3  4-byte sequence with last byte missing (U+0000):     "<f0><80><80>
  >     "               |' to a wide string                                       
  > 27. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.4  5-byte sequence with last byte missing (U+0000):     "<f8><80><80>
  >     <80>"               |' to a wide string                                   
  > 28. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.5  6-byte sequence with last byte missing (U+0000):     "<fc><80><80>
  >     <80><80>"               |' to a wide string                               
  > 29. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.6  2-byte sequence with last byte missing (U-000007FF): "<df>"       
  >            |' to a wide string                                                
  > 30. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.7  3-byte sequence with last byte missing (U-0000FFFF): "<ef><bf>"   
  >                |' to a wide string                                            
  > 31. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.8  4-byte sequence with last byte missing (U-001FFFFF): "<f7><bf><bf>
  >     "               |' to a wide string                                       
  > 32. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.9  5-byte sequence with last byte missing (U-03FFFFFF): "<fb><bf><bf>
  >     <bf>"               |' to a wide string                                   
  > 33. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.3.10 6-byte sequence with last byte missing (U-7FFFFFFF): "<fd><bf><bf>
  >     <bf><bf>"               |' to a wide string                               
  > 34. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '   "<c0><e0><80><f0><80><80><f8><80><80><80><fc><80><80><80><80><df><ef><
  >     bf><f7><bf><bf><fb><bf><bf><bf><fd><bf><bf><bf><bf>"                      
  >                                             |' to a wide string               
  > 35. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.5.1  fe = "<fe>"                                                       
  >            |' to a wide string                                                
  > 36. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.5.2  ff = "<ff>"                                                       
  >            |' to a wide string                                                
  > 37. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '3.5.3  fe fe ff ff = "<fe><fe><ff><ff>"                                  
  >                     |' to a wide string                                       
  > 38. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.1.1 U+002F = c0 af             = "<c0><af>"                            
  >                |' to a wide string                                            
  > 39. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.1.2 U+002F = e0 80 af          = "<e0><80><af>"                        
  >                    |' to a wide string                                        
  > 40. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.1.3 U+002F = f0 80 80 af       = "<f0><80><80><af>"                    
  >                        |' to a wide string                                    
  > 41. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.1.4 U+002F = f8 80 80 80 af    = "<f8><80><80><80><af>"                
  >                            |' to a wide string                                
  > 42. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.1.5 U+002F = fc 80 80 80 80 af = "<fc><80><80><80><80><af>"            
  >                                |' to a wide string                            
  > 43. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.2.1  U-0000007F = c1 bf             = "<c1><bf>"                       
  >                |' to a wide string                                            
  > 44. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.2.2  U-000007FF = e0 9f bf          = "<e0><9f><bf>"                   
  >                    |' to a wide string                                        
  > 45. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.2.3  U-0000FFFF = f0 8f bf bf       = "<f0><8f><bf><bf>"               
  >                        |' to a wide string                                    
  > 46. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.2.4  U-001FFFFF = f8 87 bf bf bf    = "<f8><87><bf><bf><bf>"           
  >                            |' to a wide string                                
  > 47. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.2.5  U-03FFFFFF = fc 83 bf bf bf bf = "<fc><83><bf><bf><bf><bf>"       
  >                                |' to a wide string                            
  > 48. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.3.1  U+0000 = c0 80             = "<c0><80>"                           
  >                |' to a wide string                                            
  > 49. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.3.2  U+0000 = e0 80 80          = "<e0><80><80>"                       
  >                    |' to a wide string                                        
  > 50. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.3.3  U+0000 = f0 80 80 80       = "<f0><80><80><80>"                   
  >                        |' to a wide string                                    
  > 51. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.3.4  U+0000 = f8 80 80 80 80    = "<f8><80><80><80><80>"               
  >                            |' to a wide string                                
  > 52. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '4.3.5  U+0000 = fc 80 80 80 80 80 = "<fc><80><80><80><80><80>"           
  >                                |' to a wide string                            
  > 53. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.1.1  U+D800 = ed a0 80 = "<ed><a0><80>"                                
  >                    |' to a wide string                                        
  > 54. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.1.2  U+DB7F = ed ad bf = "<ed><ad><bf>"                                
  >                    |' to a wide string                                        
  > 55. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.1.3  U+DB80 = ed ae 80 = "<ed><ae><80>"                                
  >                    |' to a wide string                                        
  > 56. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.1.4  U+DBFF = ed af bf = "<ed><af><bf>"                                
  >                    |' to a wide string                                        
  > 57. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.1.5  U+DC00 = ed b0 80 = "<ed><b0><80>"                                
  >                    |' to a wide string                                        
  > 58. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.1.6  U+DF80 = ed be 80 = "<ed><be><80>"                                
  >                    |' to a wide string                                        
  > 59. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.1.7  U+DFFF = ed bf bf = "<ed><bf><bf>"                                
  >                    |' to a wide string                                        
  > 60. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.2.1  U+D800 U+DC00 = ed a0 80 ed b0 80 = "<ed><a0><80><ed><b0><80>"    
  >                               |' to a wide string                             
  > 61. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.2.2  U+D800 U+DFFF = ed a0 80 ed bf bf = "<ed><a0><80><ed><bf><bf>"    
  >                               |' to a wide string                             
  > 62. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.2.3  U+DB7F U+DC00 = ed ad bf ed b0 80 = "<ed><ad><bf><ed><b0><80>"    
  >                               |' to a wide string                             
  > 63. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.2.4  U+DB7F U+DFFF = ed ad bf ed bf bf = "<ed><ad><bf><ed><bf><bf>"    
  >                               |' to a wide string                             
  > 64. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.2.5  U+DB80 U+DC00 = ed ae 80 ed b0 80 = "<ed><ae><80><ed><b0><80>"    
  >                               |' to a wide string                             
  > 65. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.2.6  U+DB80 U+DFFF = ed ae 80 ed bf bf = "<ed><ae><80><ed><bf><bf>"    
  >                               |' to a wide string                             
  > 66. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.2.7  U+DBFF U+DC00 = ed af bf ed b0 80 = "<ed><af><bf><ed><b0><80>"    
  >                               |' to a wide string                             
  > 67. Warning in grep("^Here come the tests:", utf8.kuhn) : unable to translate 
  >     '5.2.8  U+DBFF U+DFFF = ed af bf ed bf bf = "<ed><af><bf><ed><bf><bf>"    
  >                               |' to a wide string                             
  
  | State mismatch; see `.DIFF$state` for details.
  
  | User input required to proceed, but we are in non-interactive mode.
  
  | unitizer unchanged.
  
  |   * Fail: test.start <- grep("^Here come the tests:", utf8.kuhn)
  | in 'unitizer/cstringr.R'
  
  | Newly evaluated tests do not match unitizer (Pass: 1087, Fail: 1); see above 
  | for more info, or run in interactive mode.
  
  Error in unitize_core(test.files = test.files, store.ids = store.ids,  : 
    Cannot proceed in non-interactive mode.
  Calls: local ... eval -> eval -> eval -> unitize_dir -> unitize_core
  Execution halted