From 83e19615779a68f8cf6644c63f8544e2f6d55083 Mon Sep 17 00:00:00 2001 From: Davis Vaughan Date: Thu, 13 Nov 2025 14:28:47 -0500 Subject: [PATCH 1/2] Fix `init_compact_seq()` signature --- src/slider-vctrs-private.c | 4 ++-- src/slider-vctrs-private.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/slider-vctrs-private.c b/src/slider-vctrs-private.c index 7cccb59..7fe1457 100644 --- a/src/slider-vctrs-private.c +++ b/src/slider-vctrs-private.c @@ -6,7 +6,7 @@ SEXP (*vec_chop)(SEXP, SEXP) = NULL; SEXP (*vec_slice_impl)(SEXP, SEXP) = NULL; SEXP (*vec_names)(SEXP) = NULL; SEXP (*compact_seq)(R_len_t, R_len_t, bool) = NULL; -SEXP (*init_compact_seq)(int*, R_len_t, R_len_t, bool) = NULL; +void (*init_compact_seq)(int*, R_len_t, R_len_t, bool) = NULL; void slider_initialize_vctrs_private(void) { // Experimental non-public vctrs functions @@ -15,5 +15,5 @@ void slider_initialize_vctrs_private(void) { vec_slice_impl = (SEXP (*)(SEXP, SEXP)) R_GetCCallable("vctrs", "exp_vec_slice_impl"); vec_names = (SEXP (*)(SEXP)) R_GetCCallable("vctrs", "exp_vec_names"); compact_seq = (SEXP (*)(R_len_t, R_len_t, bool)) R_GetCCallable("vctrs", "exp_short_compact_seq"); - init_compact_seq = (SEXP (*)(int*, R_len_t, R_len_t, bool)) R_GetCCallable("vctrs", "exp_short_init_compact_seq"); + init_compact_seq = (void (*)(int*, R_len_t, R_len_t, bool)) R_GetCCallable("vctrs", "exp_short_init_compact_seq"); } diff --git a/src/slider-vctrs-private.h b/src/slider-vctrs-private.h index 3b86061..fbbbbc6 100644 --- a/src/slider-vctrs-private.h +++ b/src/slider-vctrs-private.h @@ -9,6 +9,6 @@ extern SEXP (*vec_chop)(SEXP, SEXP); extern SEXP (*vec_slice_impl)(SEXP, SEXP); extern SEXP (*vec_names)(SEXP); extern SEXP (*compact_seq)(R_len_t, R_len_t, bool); -extern SEXP (*init_compact_seq)(int*, R_len_t, R_len_t, bool); +extern void (*init_compact_seq)(int*, R_len_t, R_len_t, bool); #endif From 996ad45aff8ff2635e7c6afa53fe395750ceef6d Mon Sep 17 00:00:00 2001 From: Davis Vaughan Date: Thu, 13 Nov 2025 14:33:19 -0500 Subject: [PATCH 2/2] NEWS bullet --- NEWS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS.md b/NEWS.md index 54cff46..2658e69 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ # slider (development version) +* Fixed the C level function signature for a vctrs callable (#224). + * Removed usage of non-API `OBJECT()`. # slider 0.3.2