Fixes #176, allowing R package names like {test.package}
Fixes #152, allowing to set crate name and library name (= the name of the binary produced by Rust) separately from the name of the R package, resolving potential crate/package name collisions.
'Names' we distinguish:
✔ R package name, sanitized if necessary. This is the name of the final binary artifact and the name of the topmost module defined in src/rust/lib.rs;
✔ Rust crate name, which defaults to the sanitized R package name. May be helpful in resolving conflicts with cargo dependencies;
✔ Rust library name, which defaults to the sanitized R package name. Same usage as described above;
❌ We can potentially distinguish between R package name and topmost exported Rust module, but this may need some support from extendr If the module name differs from that of the R package, we will have to pass this name to {rextendr} every time we call rextendr::document(), because this name determines the name of the function that produces wrappers. I suggest to not support this feature.
TODO:
[x] Check docs
[x] Run {styler}
[x] Write tests for package/crate name combinations
{test.package}
crate name
andlibrary name
(= the name of the binary produced by Rust) separately from the name of the R package, resolving potential crate/package name collisions.'Names' we distinguish:
src/rust/lib.rs
;We can potentially distinguish between R package name and topmost exported Rust module, but this may need some support fromIf the module name differs from that of the R package, we will have to pass this name toextendr
{rextendr}
every time we callrextendr::document()
, because this name determines the name of the function that produces wrappers. I suggest to not support this feature.TODO: