Skip to content

extendr-api v0.8.1 fails to compile: SEXPTYPE::OBJSXP not found (E0599) #105

@IoannaThoma

Description

@IoannaThoma

extendr-api v0.8.1 fails to compile due to missing SEXPTYPE::OBJSXP.
Reproduction steps:

  • cargo build
  • cargo tree -p extendr-api

Cargo output:
error[E0599]: no variant or associated item named OBJSXP found for enum extendr_ffi::SEXPTYPE in the current scope
--> .cargo/registry/src/index.crates.io-1949cf8c6b5b557f/extendr-api-0.8.1/src/lib.rs:564:32
|
564 | Rtype::S4 => SEXPTYPE::OBJSXP,
| ^^^^^^ variant or associated item not found in SEXPTYPE

error[E0599]: no variant or associated item named OBJSXP found for enum extendr_ffi::SEXPTYPE in the current scope
--> .cargo/registry/src/index.crates.io-1949cf8c6b5b557f/extendr-api-0.8.1/src/lib.rs:598:19
|
598 | SEXPTYPE::OBJSXP => Rtype::S4,
| ^^^^^^ variant or associated item not found in SEXPTYPE
Notes:

  • cargo build exits with "could not compile extendr-api (lib) due to 2 previous errors".
  • I believe crates.io publish of extendr-api v0.8.1 expects an older extendr-ffi that exposes OBJSXP - the extendr-ffi version cargo resolved appears not to expose that variant.

My understanding is that extendr-api from crates.io fails to compile against the extendr-ffi that cargo resolves.
Or extendr-api's crate on crates.io is broken because it depends on an older internal API that no longer exists.

Cargo tree (relevant portion)
codelist v0.1.0 (repos/codelist-tools/bindings/r/src/rust)
├── codelist-rs v0.1.0 (https://github.com/ehrtools/codelist-tools.git#410377a0)
│ ├── ...
├── extendr-api v0.8.1
│ ├── extendr-ffi v0.8.1
│ ├── extendr-macros v0.8.1 (proc-macro)
│ ├── once_cell v1.21.3
│ └── paste v1.0.15 (proc-macro)
└── extendr-ffi v0.8.1

codelist-rs v0.1.0 (repos/codelist-tools/rust/codelist-rs)
├── ...
├── extendr-api v0.8.1 (*)
├── extendr-ffi v0.8.1
├── ...

codelist-validator-rs v0.1.0 (/repos/codelist-tools/rust/codelist-validator-rs)
├── ...
├── extendr-api v0.8.1 (*)
├── extendr-ffi v0.8.1
├── ...

(Note: cargo tree shows extendr-api v0.8.1 and extendr-ffi v0.8.1 are the versions being used.)

rustc --version
rustc 1.88.0 (6b00bc388 2025-06-23)
cargo --version
cargo 1.88.0 (873a06493 2025-05-10)

uname -srvmp && cat /etc/os-release 2>/dev/null || sw_vers 2>/dev/null

Darwin 24.6.0 Darwin Kernel Version 24.6.0: Mon Jul 14 11:30:40 PDT 2025; root:xnu-11417.140.69~1/RELEASE_ARM64_T6041 arm64 arm
ProductName: macOS
ProductVersion: 15.6
BuildVersion: 24G84

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