Cargo Features

extendr-api has no features set by default.

[dependencies]
extendr-api = { version = "0.6.0", features = ["result_list", "result_condition", "full-functionality", "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, 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

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

Enables use-bindgen of libr-sys

tests tests-all? = either, 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?

Affects optional::ndarray

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

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