Cargo Features

extendr-api has no features set by default.

[dependencies]
extendr-api = { version = "0.7.1", features = ["result_list", "result_condition", "full-functionality", "non-api", "graphics", "tests-minimal", "tests", "tests-graphics", "tests-all"] }
result_list

Features to modify behaviour of returning Result<T,E> from extendr to R, instead of unwrap-throw_r_error().
Add new features below
None, one or both can be set, but the one with highest precedence will take effect.

result_condition
full-functionality = either, faer, graphics, ndarray, num-complex, serde

This dummy feature enables all features that increase the functionality of extendr, via conversions or R features. Features that change behaviour but do not add functionality (such as libR-sys/use-bindgen) are excluded

non-api

Parts of the R-API are locked behind non-API, as CRAN frowns upon the presence of non-API items in packages. You may enable this feature, to generate bindings to these non-API items, and their usage in extendr BEWARE: this feature does not work, as bindgen use in extendr is deprecated

Affects functions::global_var, functions::local_var, rinternals::Rinternals.eval_promise, rinternals::Rinternals.is_valid_string, rinternals::Rinternals.is_valid_string_f, altrep::AltrepImpl.unserialize_ex

graphics full-functionality? tests-all? tests-graphics? = libc

libc is needed to allocate a DevDesc (c.f., https://bugs.r-project.org/show_bug.cgi?id=18292)

Affects extendr-api::graphics

tests-minimal tests? tests-graphics?

The minimal set of features without all optional ones

tests tests-all? = either, faer, ndarray, num-complex, serde, tests-minimal

All features to test except for graphics; graphics tests are currently unstable and require --test-threads=1, so we decided to exclude it from here (c.f. #378).

tests-graphics = graphics, tests-minimal
tests-all = graphics, tests

Literally all features to test

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

either full-functionality? tests?

Affects optional::either

libc graphics?
ndarray full-functionality? tests?

Enables ndarray ^0.15.3

Affects optional::ndarray

num-complex full-functionality? tests?
serde full-functionality? tests?

Affects extendr-api::serializer, extendr-api::deserializer

faer full-functionality? tests?