Skip to content

Found non-API calls to R: SETLENGTH, SET_TRUELENGTH #355

Closed
@jwood000

Description

@jwood000

Recently, my package RcppAlgos started getting NOTEs on several builds from CRAN checks:

https://cran.r-project.org/web/checks/check_results_RcppAlgos.html

The NOTE is: "Found non-API calls to R: SETLENGTH, SET_TRUELENGTH"

I did many grep checks in my code repository and could not find and occurrence of SETLENGTH or SET_TRUELENGTH. I then googled the NOTE and several packages popped up. All of them that I checked depend on cpp11.

I then found this issue for arrow, apache/arrow#41404, which talks about this problem as well.

Both of these calls appear occurring in the r_vector header:

inline SEXP truncate(SEXP x, R_xlen_t length, R_xlen_t capacity) {
#if R_VERSION >= R_Version(3, 4, 0)
SETLENGTH(x, length);
SET_TRUELENGTH(x, capacity);
SET_GROWABLE_BIT(x);
#else

I also found this from r-source/wch in src/library/tools/R/sotools.R (check out lines 561 to 669):

https://github.com/wch/r-source/blob/becbbf2a71ed56d4f7503d2dc4ac391d8c05eac6/src/library/tools/R/sotools.R#L561-L669

I'm not really sure what action to take here, I just wanted to bring this to your attention.

Regards,
Joseph

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions