Colin, you can do: Imports: tools
NAMESPACE: if (getRversion() >= 4) importFrom(tools,R_user_dir) R/000.namespace.R: ## Create a dummy R_user_dir() for R (< 4.0.0) ## to please R CMD check if (getRversion() < 4) { R_user_dir <- function(...) NULL } and then use: if (getRversion() < 4) { # do something } else { R_user_dir("oysteR", which = "cache") } An advantage of this approach is that it's clear from Imports: and the NAMESPACE file what you're importing and when. When using Suggests: and pkg::fcn() you can't peek at NAMESPACE to see what's actually used. Finally, if '#do something' is basically trying to do the same as tools::R_user_dir(), you could of course also consider writing your own forward-compatible wrapper for R (< 4.0.0), e.g. if (getRversion() < 4) { R_user_dir <- function(...) { # do something } } and then use R_user_dir() as if you're running R (>= 4.0.0). That's the cleanest version. Hope this helps, Henrik On Wed, Dec 16, 2020 at 11:12 AM Jeff Newmiller <jdnew...@dcn.davis.ca.us> wrote: > > For "obvious" reasons? I don't see this kind of avoidance as "obviously" > correct at all. You have a dependency... it should be declared. There are > various ways to proceed, with Imports or Depends or Suggests or pulling the > code into your package... but trying to subvert the dependency management is > counterproductive. > > On December 16, 2020 8:28:15 AM PST, Colin Gillespie <csgilles...@gmail.com> > wrote: > >Hi, > > > >I'm planning on using the tools::R_user_dir function in a package. But > >for obvious reasons, I don't want to set the dependency on R 4. > > > >My code is basically > > > >if (as.numeric(R.version$major) < 4) # do something > >else tools::R_user_dir("oysteR", which = "cache") > > > >When checking on win-builder R3.6 I get the note > > > >* checking dependencies in R code ... NOTE > >Missing or unexported object: 'tools::R_user_dir' > > > >## Question > > > >Is my code correct and can I ignore this note? > > > >Thanks > > > >Colin > > > > > >Dr Colin Gillespie > >http://www.mas.ncl.ac.uk/~ncsg3/ > > > >______________________________________________ > >R-package-devel@r-project.org mailing list > >https://stat.ethz.ch/mailman/listinfo/r-package-devel > > -- > Sent from my phone. Please excuse my brevity. > > ______________________________________________ > R-package-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-package-devel ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel