> There can't really be an "ImportGenerics", because S3 is so informal. A > generic function is a function that calls UseMethod, but it can do anything > else as well. So R would need some fancy code analysis to know whether it > was safe to import the generic but not all the dependencies of that package, > and that could change when the package holding the generic was updated. > > Examples of generics that do more than simply call UseMethod are rare, but > they exist: as.data.frame() and sort() are a couple. > > Duncan Murdoch
Right -- ImportGenerics was a dumb idea. However, Something like ImportNoDeps makes sense as an additional category in the DESCRIPTION file. In my example, if such existed, I could put in the DESCRIPTION file: ImportNoDeps: multcomp This would signal that multcomp -- but not necessarily any of its dependencies -- is required to install emmeans. And in the NAMESPACE file: importFrom(multcomp, cld) S3method(cld, emmGrid) ... would import the needed generic and register my new S3 method. I think this kind of construct could significantly reduce dependencies for packages that extend other packages' methods. Russ ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel