Closed malcolmbarrett closed 2 years ago
This is currently not supported, mainly because of the enrty_point naming (you can see it in the trace). I tried making c++ packages that also use dot in their names, but failed due to the same reason. AFAIK, the name of the entrypoint function is determined by the package name, and I am unaware if there is any convention on how to bypass it. We need to research the topic.
As a side note, style guides like this one discourage usage of periods/dots in the package name. I suspect the reasoning is similar to the function names case -- it may affect the S3 generic dispatch (or at least complicate it).
Actually, {data.table}
works fine. We need to improve naming support to address also #152.
Note that there are some implicit restrictions on this mechanism as the basename of the DLL needs to be both a valid file name and valid as part of a C entry point (e.g. it cannot contain ‘.’): for portable code it is best to confine DLL names to be ASCII alphanumeric plus underscore. If entry point R_initlib is not found it is also looked for with ‘.’ replaced by ‘’.
yeah, I assume sanitizing package names to snake case is what needs to be done for both C and Rust
Awesome, thanks @Ilia-Kosenkov!
The
.
part of the package name results in invalid C and Rust code, it seemsCreated on 2022-02-08 by the reprex package (v2.0.1)