Possible change / correction of Field export affecting four packages

Open
#364 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
cpp, r
Domain
tooling

Research direction

Review the existing field-exporter fix behind its #define and the before/after reverse-depends results described in the issue. Investigate the remaining failures in carat and perccal, then clarify the compatible API behavior, fallback requirements, and timeline before implementation.

Written by the indexing model from the issue text.

Description

Issue https://github.com/RcppCore/RcppArmadillo/issues/263, opened quite some time ago by @coatless, demonstrated that we had a bug stacked away in dealing with a field exporter which dropped a dimension. I worked a bit on that in November and committed a fix albeit behind a #define. I had meant to come back to this and had time last week to run two sets of 'before' and 'after' reverse-depends checks to assess how costly it would be to enable this unconditionally.

It turns out that four (out of 950 total (!!)) packages then fail tests:

  • AlphaSimR by @gaynorr et al -- already addressed in version 1.1.2 on CRAN
  • carat by @yexiaoqingruc et al
  • odpc by @esmucler -- will revert to old behavior, see #3, #4, addressed in version 2.0.5 on CRAN
  • perccal by Dan McCarthy (not on GH, emailed 2022-02-13)

I have not yet had time to look into patches or changes. We probably want to fix this, and worst case can offer a #define to allow these four packages (and other uses like them) to get the old behavior back (in the sense of 'we published an API so we need to honor that contract') but otherwise offer 'better' code.

So "just" opening this issue to see if we can start a dialogue about what would be a suitable timeline to make the change. Maybe in three months? Too soon?

Dominant language
C++
Stars
211
Forks
54
Avg merge
5m
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from RcppCore/RcppArmadillo

All issues in RcppCore/RcppArmadillo

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.