Identify unregistered native routines
Source:R/routine_registration_linter.R
routine_registration_linter.Rd
It is preferable to register routines for efficiency and safety.
See also
linters for a complete list of linters available in lintr.
https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Registering-native-routines
Examples
# will produce lints
lint(
text = '.Call("cpp_routine", PACKAGE = "mypkg")',
linters = routine_registration_linter()
)
#> ::warning file=<text>,line=1,col=7::file=<text>,line=1,col=7,[routine_registration_linter] Register your native code routines with useDynLib and R_registerRoutines().
lint(
text = '.Fortran("f_routine", PACKAGE = "mypkg")',
linters = routine_registration_linter()
)
#> ::warning file=<text>,line=1,col=10::file=<text>,line=1,col=10,[routine_registration_linter] Register your native code routines with useDynLib and R_registerRoutines().
# okay
lint(
text = ".Call(cpp_routine)",
linters = routine_registration_linter()
)
lint(
text = ".Fortran(f_routine)",
linters = routine_registration_linter()
)