Message-ID: <CAJXgQP0NhMQYRNqy8SfS4jN-kcVKFinJG4bxfROX_BEbBt5L+Q@mail.gmail.com>
Date: 2023-02-06T18:03:07Z
From: Kevin Ushey
Subject: Unnecessary note when import only used in arg definition
In-Reply-To: <CAEKh8ujzyH=Lhd49yc58=1Q4MxiGbjFpfQ13Rp+dEUQFA0Yr8g@mail.gmail.com>
Hi Antoine,
Maybe I'm misunderstanding, but I think the warning is saying that
you've declared the package dependency in the DESCRIPTION file, but
you haven't actually imported the package (or any functions) in your
package NAMESPACE file?
I put together an example package that I think satisfies the point
you're describing, and I don't see any R CMD check warnings (using R
4.2.2).
https://github.com/kevinushey/imports.example
As I understand it, if you declare a package dependency in the
DESCRIPTION file, you need to clarify how you're using the package in
the NAMESPACE file -- e.g. what symbols you want to import, and so on.
Best,
Kevin
On Mon, Feb 6, 2023 at 6:43 AM Antoine Fabri <antoine.fabri at gmail.com> wrote:
>
> Dear r-devel,
>
> When a package is only used in an argument definition, e.g :
>
>
> f <- function(test = testthat::is_testing()) {
>
> if (test) 1 else 2
>
> }
>
>
> R CMD CHECK gives us a note: "Namespace in Imports field not imported from:
> 'testthat'"
>
>
> This incites me to remove the package from the Imports field but that'll
> make my package brittle.
>
>
> I noted I'm not the first one having the issue (
> https://github.com/r-lib/devtools/issues/2456 ) and I've seen some
> workarounds too, in particular Hadley Wickham suggests in 'R packages' to
> use the following construct :
>
>
> ignore_unused_imports <- *function*() {
>
> aaapkg::aaa_fun
>
> }
>
>
> That's far from obvious though, and not very satisfying.
>
> Are there any downside to removing this note in this scenario? it makes
> little sense to me and incites wrong behaviour AFAIU.
>
>
> Thanks,
>
>
> Antoine
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel