[Rd] Problems with S4 methods dispatching on `...` (aka dotsMethods)
Andrzej Oleś
andrzej.oles at gmail.com
Tue Apr 25 11:34:39 CEST 2017
Hi Michael,
thanks again for your patch! I've tested it and I'm happy to confirm that
`callNextMethod()` works with methods dispatching on `...`.
However, the second issue I reported still seems to be unresolved. Consider
the following toy example, where the `f()` calls differ in result depending
on whether the dispatch happens on a formal argument or the `...` argument.
f = function(x, ..., a = b) {
b = "missing 'a'"
print(a)
}
f()
## [1] missing 'a'
f(a = 1)
## [1] 1
setGeneric("f", signature = "x")
# works as the non-generic version
f()
## [1] missing 'a'
setGeneric("f", signature = "...")
# unexpectedly fails to find 'b'
f()
## Error in print(a) : object 'b' not found
Any chances of fixing this?
Cheers,
Andrzej
On Fri, Apr 21, 2017 at 11:40 AM, Andrzej Oleś <andrzej.oles at gmail.com>
wrote:
> Great, thanks Michael for you quick response!
>
> I started off with a question on SO because I was not sure whether this
> was an actual bug or I was just missing something obvious. I'm looking
> forward to the patch.
>
> Cheers,
> Andrzej
>
>
> On Thu, Apr 20, 2017 at 10:28 PM, Michael Lawrence <
> lawrence.michael at gene.com> wrote:
>
>> Thanks for pointing out these issues. I have a fix that I will commit
>> soon.
>>
>> Btw, I would never have seen the post on Stack Overflow. It's best to
>> report bugs on the bugzilla.
>>
>> Michael
>>
>> On Thu, Apr 20, 2017 at 8:30 AM, Andrzej Oleś <andrzej.oles at gmail.com>
>> wrote:
>> > Hi all,
>> >
>> > I recently encountered some unexpected behavior with S4 generics
>> > dispatching on `...`, which I described in
>> > http://stackoverflow.com/questions/43499203/use-callnextmeth
>> od-with-dotsmethods
>> >
>> > TL;DR: `callNextMethod()` doesn't work in methods dispatching on `...`,
>> and
>> > arguments of such methods are resolved differently than the arguments of
>> > methods dispatching on formal arguments.
>> >
>> > Could this indicate a potential problem with the implementation of the
>> > `...` dispatch?
>> >
>> > Cheers,
>> > Andrzej
>> >
>> > [[alternative HTML version deleted]]
>> >
>> > ______________________________________________
>> > R-devel at r-project.org mailing list
>> > https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
>
[[alternative HTML version deleted]]
More information about the R-devel
mailing list