← Back to all sparks
E

ellipsis

DEVOPS
Velocity0.0

Tools for checking and safely handling the dots argument in R functions

ellipsis' checks live in rlang now; the package is a compatibility shim.

argument checkingrlangtidyversesuperseded packager
Current state
ellipsis provides check_dots_used(), check_dots_unnamed() and check_dots_empty() for catching arguments silently swallowed by dots. Its functional development finished in 2019 across the 0.2.0 and 0.3.0 releases. The two releases since deal only with rlang and CRAN, and 0.3.3 makes the rlang dependency unconditional.
Where it's heading
The package built its full surface quickly, hardened it once by switching the check functions from warnings to errors, then saw the ideas move upstream. These checks are part of rlang's own API now, which leaves ellipsis as a compatibility layer for packages still importing it directly. The 0.3.3 change to depend on rlang unconditionally states that relationship plainly.
Prediction
With the functionality living in rlang, the next release is most likely another CRAN-driven fix; there is no sign of new checks being added here.

Recent moves

  1. 4mo ago

    Now depends unconditionally on rlang

    Drops the conditional handling and requires rlang outright, alongside CRAN check fixes. A two-line release that confirms the package is now a thin layer over rlang.

    View source ↗
  2. 5y ago

    License changed to MIT; rlang compatibility updated

    Relicenses the package to MIT and tracks the next rlang release. The license change aligns it with the rest of the tidyverse, though by this point the functionality had largely moved to rlang anyway.

    View source ↗
  3. 6y ago

    R-devel fix and new ?dots_used documentation topic

    Fixes an R-devel incompatibility and adds a ?dots_used topic other packages can inherit documentation from. The documentation hook is the more durable half.

    View source ↗
  4. 6y ago

    check_dots_* functions gain an action argument

    Lets each check choose whether to error, warn, message or signal when its condition is met, which makes the checks usable in packages that cannot afford to fail hard. The last functional change in the package's history.

    View source ↗
  5. 7y ago

    check_ functions now throw errors; check_dots_empty() added

    Graduates the package from experimental to maturing and switches the check functions from warnings to custom errors, a breaking change made deliberately. Adds check_dots_empty() and optimises the no-problem path so the checks can be used freely.

    View source ↗
  6. 7y ago

    check_dots_unnamed() added

    Adds check_dots_unnamed() and fixes false positives in check_dots_used(). Early work establishing the three-check set the package is known for.

    View source ↗