If we started over, I'd try to avoid this sort of complexity, but "ANY" truncation has been happening since at least 2003.
> matchSignature(c("numeric", "ANY"), foo) x "numeric" So I'm not sure we want to mess with it. Michael On Thu, Mar 21, 2019 at 8:14 PM Pages, Herve <hpa...@fredhutch.org> wrote: > Hi Michael, > > Thanks for looking into this. I suspect that truncation of ANY suffixes > from method signatures is also the culprit behind the sudden breakage of > aliases of the form \alias{foo,numeric-method} when a method without the > ANY suffix in its signature gets added to the ecosystem. See my post about > this to the Bioc-devel mailing list a couple of months ago: > https://stat.ethz.ch/pipermail/bioc-devel/2019-January/014603.html > > So overall isn't this truncation more trouble than it's worth? > > H. > On 3/19/19 10:12, Michael Lawrence wrote: > > This is due to the intentional truncation of ANY suffixes from method > signatures. I've hacked selectMethod() to be robust to that and will commit > soon. Thanks for the report. > > Michael > > On Thu, Mar 14, 2019 at 9:32 AM Pages, Herve <hpa...@fredhutch.org> wrote: > >> Here is an example: >> >> setGeneric("foo", function(x, y) standardGeneric("foo")) >> >> setMethod("foo", c("numeric", "ANY"), >> function(x, y) cat("I'm the foo#numeric#ANY method\n") >> ) >> >> >> Dispatch works as expected but selectMethod() fails to find the method: >> >> >> > foo(1, TRUE) >> I'm the foo#numeric#ANY method >> >> > selectMethod("foo", c("numeric", "logical")) >> Error in selectMethod("foo", c("numeric", "logical")) : >> no method found for signature numeric, logical >> >> Adding an arbitrary method that doesn't have ANY in the signature "fixes" >> selectMethod(): >> >> setMethod("foo", c("complex", "integer"), >> function(x, y) cat("I'm the foo#complex#integer method\n") >> ) >> >> Then: >> >> > selectMethod("foo", c("numeric", "logical")) >> Method Definition: >> >> function (x, y) >> cat("I'm the foo#numeric#ANY method\n") >> >> Signatures: >> x y >> target "numeric" "logical" >> defined "numeric" "ANY" >> >> >> Thanks, >> >> H. >> >> >> -- >> Hervé Pagès >> >> Program in Computational Biology >> Division of Public Health Sciences >> Fred Hutchinson Cancer Research Center >> 1100 Fairview Ave. N, M1-B514 >> P.O. Box 19024 >> Seattle, WA 98109-1024 >> >> E-mail: hpa...@fredhutch.org<mailto:hpa...@fredhutch.org> >> Phone: (206) 667-5791 >> Fax: (206) 667-1319 >> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> <https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Ddevel&d=DwMFaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=4e2MsIBoF9YnF3BCkiOk1m2kFgKBe24FwU28c-wuAyc&s=ydXNxAwEa5eG9lTu27sx-8KsT6gU66TbmJLcaYEaleg&e=> >> > -- > Hervé Pagès > > Program in Computational Biology > Division of Public Health Sciences > Fred Hutchinson Cancer Research Center > 1100 Fairview Ave. N, M1-B514 > P.O. Box 19024 > Seattle, WA 98109-1024 > > E-mail: hpa...@fredhutch.org > Phone: (206) 667-5791 > Fax: (206) 667-1319 > > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel