check_equals() failure message now reports the first mismatching position when arg and x hold the same values as sets, so permutations like c(1, 2) versus c(2, 1) are explained instead of showing two empty setdiff() lines.
check_ncol_*() and check_nrow_*() failure messages now pluralize the count noun, so a count of 1 reads “1 column” or “1 row” instead of “1 columns” or “1 rows”.
check_names_in_arg() failure message setdiff() labels now read setdiff(names(x), .names) instead of setdiff(x, .names), matching the values the lines actually compute.
Other updates
check_length_leq() and check_length_geq() failure messages now say “at most” and “at least”, matching the wording in check_ncol_*() and check_nrow_*().
check_equals() failure message now places .set on its own line instead of after a mid-sentence colon.
check_names_in_arg() failure message headline now reads “must have all of these names” instead of “must have names”, making clear that every name must be present.
check_named() failure message now reads “a name for every element” instead of “names for each element”.
check_valid() failure message now reads “zero length” instead of “a length of zero”.
All check_*() failure messages now wrap R object references in backticks (`x`, `.set`, `.names`) instead of single quotes. Single quotes are reserved for string and string-like literals such as class names and character values.