Before you can install this package, you need to install a working Rust toolchain. We recommend using rustup.
On Windows, you'll also have to add the i686-pc-windows-gnu
and x86_64-pc-windows-gnu
targets:
rustup target add x86_64-pc-windows-gnu
rustup target add i686-pc-windows-gnu
Once Rust is working, you can install this package via:
remotes::install_github("extendr/rrustbio")
After installation, the following should work:
library(rrustbio)
hello_world()
#> [1] "Hello world!"
You will need rextendr package to generate wrappers. Please install it before proceeding to the next step.
remotes::install_github("extendr/rextendr")
When you make either of the following changes to the Rust source code, you'll need to regenerate the wrappers.
- add a new function
- modify the signature of an existing function
- modify the documentation written on Rust code (on the lines starting with
///
)
This can be done by:
rextendr::document()
Which will compile the Rust code as well as updating documentation.
For a fully worked out demonstration of how to create a Rust + R library see here.