From a251da9151a09cae7fa7ed04b2568397a788ae38 Mon Sep 17 00:00:00 2001 From: Christopher Kirchhoff Date: Thu, 29 Jan 2026 23:14:29 -0500 Subject: [PATCH] Fix: find_missing_integerish() handles complex type --- src/any_missing.c | 3 ++- tests/testthat/test_qassert.R | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/any_missing.c b/src/any_missing.c index 90315484..7ec09939 100644 --- a/src/any_missing.c +++ b/src/any_missing.c @@ -34,7 +34,8 @@ R_xlen_t attribute_hidden find_missing_integerish(SEXP x) { case LGLSXP: return find_missing_logical(x); case INTSXP: return find_missing_integer(x); case REALSXP: return find_missing_double(x); - default: error("Error in find_missing_integerish: x must be logical or numeric"); + case CPLXSXP: return find_missing_complex(x); + default: error("Error in find_missing_integerish: x must be logical, numeric, or complex"); } } diff --git a/tests/testthat/test_qassert.R b/tests/testthat/test_qassert.R index bd53c68d..0316e85b 100644 --- a/tests/testthat/test_qassert.R +++ b/tests/testthat/test_qassert.R @@ -75,6 +75,8 @@ test_that("integerish", { expect_fail_all(xi, "X") expect_succ_all(xr, "x") expect_fail_all(xr, "X") + expect_succ_all(xc, "x") + expect_fail_all(xc, "X") expect_fail_all(1:3+.0001, "x") expect_fail_all(xd, "x") })