# extra arguments in ... error (#5891) Code intersect(df1, df2, z = 3) Condition Error in `intersect()`: ! `...` must be empty. x Problematic argument: * z = 3 Code union(df1, df2, z = 3) Condition Error in `union()`: ! `...` must be empty. x Problematic argument: * z = 3 Code union_all(df1, df2, z = 3) Condition Error in `union_all()`: ! `...` must be empty. x Problematic argument: * z = 3 Code setdiff(df1, df2, z = 3) Condition Error in `setdiff()`: ! `...` must be empty. x Problematic argument: * z = 3 Code symdiff(df1, df2, z = 3) Condition Error in `symdiff()`: ! `...` must be empty. x Problematic argument: * z = 3 # incompatible data frames error (#903) Code intersect(df1, df2) Condition Error in `intersect()`: ! `x` and `y` are not compatible. x Different number of columns: 1 vs 2. Code union(df1, df2) Condition Error in `union()`: ! `x` and `y` are not compatible. x Different number of columns: 1 vs 2. Code union_all(df1, df2) Condition Error in `union_all()`: ! `x` and `y` are not compatible. x Different number of columns: 1 vs 2. Code setdiff(df1, df2) Condition Error in `setdiff()`: ! `x` and `y` are not compatible. x Different number of columns: 1 vs 2. Code symdiff(df1, df2) Condition Error in `symdiff()`: ! `x` and `y` are not compatible. x Different number of columns: 1 vs 2. # is_compatible generates useful messages for different cases Code cat(is_compatible(tibble(x = 1), 1)) Output `y` must be a data frame. Code cat(is_compatible(tibble(x = 1), tibble(x = 1, y = 2))) Output Different number of columns: 1 vs 2. Code cat(is_compatible(tibble(x = 1, y = 1), tibble(y = 1, x = 1), ignore_col_order = FALSE)) Output Same column names, but different order. Code cat(is_compatible(tibble(x = 1), tibble(y = 1))) Output Cols in `y` but not `x`: `y`. Cols in `x` but not `y`: `x`. Code cat(is_compatible(tibble(x = 1), tibble(x = 1L), convert = FALSE)) Output Different types for column `x`: double vs integer. Code cat(is_compatible(tibble(x = 1), tibble(x = "a"))) Output Incompatible types for column `x`: double vs character. # setequal tibbles must have same rows and columns Code setequal(tibble(x = 1:2), tibble(y = 1:2)) Condition Error in `setequal()`: ! `x` and `y` are not compatible. x Cols in `y` but not `x`: `y`. x Cols in `x` but not `y`: `x`. --- Code setequal(tibble(x = 1:2), tibble(x = c("a", "b"))) Condition Error in `setequal()`: ! `x` and `y` are not compatible. x Incompatible types for column `x`: integer vs character. # setequal checks y is a data frame Code setequal(mtcars, 1) Condition Error in `setequal()`: ! `x` and `y` are not compatible. `y` must be a data frame. # setequal checks for extra arguments Code setequal(mtcars, mtcars, z = 2) Condition Error in `setequal()`: ! `...` must be empty. x Problematic argument: * z = 2