Skip to content

CI never builds without the arrow feature, and that build is broken #139

Description

@anoop-narang

Problem

cargo test on a fresh clone does not compile:

error[E0061]: this function takes 2 arguments but 3 arguments were supplied
   --> examples/quickstart.rs:180:5
error[E0061]: this function takes 1 argument but 2 arguments were supplied
   --> examples/quickstart.rs:183:5
error: could not compile `hotdata` (example "quickstart") due to 2 previous errors

examples/quickstart.rs defines fetch_arrow and one_shot_arrow twice: a real version behind #[cfg(feature = "arrow")] and a stub behind #[cfg(not(feature = "arrow"))]. The call sites take three and two arguments; the stubs take two and one. The stubs have drifted.

Why it survived

Every workflow builds with --all-features:

  • integration-tests.yml: cargo test --all-features --test '*'
  • publish.yml: cargo publish --dry-run --all-features, then cargo publish --all-features

With arrow enabled the stubs are never compiled, so nothing on CI has ever built the default feature set. The green suite means "we did not build that configuration", not "that configuration works.

arrow is not a default feature, so this is what a consumer gets from cargo add hotdata without opting in.

Fix

Two parts:

  1. Correct the two stub signatures so they match their call sites.
  2. Add a CI job that builds and tests with default features, so the non-arrow configuration cannot silently rot again. A cargo check --no-default-features alongside it would also cover the minimal set.

Noticed while working on #138; deliberately left out of that PR since it is unrelated to the change there.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions