rust-payjoin icon indicating copy to clipboard operation
rust-payjoin copied to clipboard

allow building with --no-default-features to enable `cargo-all-features` in CI?

Open nothingmuch opened this issue 4 months ago • 1 comments

Recently we had a few linting regressions, such as some dead code that was only dead with the default features but not --all-features, and issues with FFI tests falling out of sync (due to the unrelated test container issue).

It would be good to stay on top of this, and the cargo-all-features crate provides tooling to do this, cargo build-all-features finds many more bits of dead code for example, that we should probably be linting.

However, this doesn't work because cargo build -p payjoin --no-default-features deliberately fails for the payjoin crate, which requires at least v1 or v2 to compile.

That being said, it might not be desirable in the long run because the runtime for this doubles with each additional feature.

nothingmuch avatar Aug 04 '25 14:08 nothingmuch

it also seems to me like there might be legitimate value in allowing this regardless, since parsing URIs might be useful as a standalone thing (e.g. in a multiprocess wallet's UI code only URI handling might be in use, with the v1 and v2 logic compiled into a separate binary perhaps)

nothingmuch avatar Aug 04 '25 14:08 nothingmuch