In 4.8.0, we exported intersect(), union(), and setdiff(), which as we saw, broke {nanotime} by changing how intersect() resolves depending on attach order.
We currently have a workaround for that to pass {nanotime} tests: eddelbuettel/nanotime#155
But the user experience remains less-than-ideal -- fragile/brittle, hard-to-diagnose for non-expert eyes.
We workshopped two approaches before release, neither of which were found to be satisfactory:
Let's see if something can be improved, including by potentially patching {nanotime} with a low-touch accommodation as well.
cc @hcirellu @eddelbuettel
In 4.8.0, we exported
intersect(),union(), andsetdiff(), which as we saw, broke {nanotime} by changing howintersect()resolves depending on attach order.We currently have a workaround for that to pass {nanotime} tests: eddelbuettel/nanotime#155
But the user experience remains less-than-ideal -- fragile/brittle, hard-to-diagnose for non-expert eyes.
We workshopped two approaches before release, neither of which were found to be satisfactory:
bit64::intersect(): Attempt S4 dispatch for intersect() and union() #308. Ran into an undiagnosed segfault.bit64::intersect()S4 generic: Attempt S4 dispatch for intersect() and union(), maybe - alternative #307. I'd like to avoid introducing S4 just for this.Let's see if something can be improved, including by potentially patching {nanotime} with a low-touch accommodation as well.
cc @hcirellu @eddelbuettel