Mehdi Akiki
Rust Failure Atlas / failure families

Cargo and dependencies

The build changes with features, MSRV, cached inputs, or workspace position.

This page lists all 33 records in this family. 28 of them have a failing and a repaired fixture, and 9 are keyed to a compiler error code. Use the Atlas search to filter by mechanism, first check, or evidence.

These cases in this family depend on the linker, a native toolchain, the target, a Cargo profile, the test harness, or the runtime. They are also featured on the Atlas front page.

Complete symptom directory

Case identifiers and anchors are stable. Records whose page is not published yet are listed without a link. Records marked “no fixture yet” link to an article and have no executable fixture.

  1. RFA-004 — A build script reruns even though the source code did not change.No fixture yet
  2. RFA-005 — The same lockfile selects or rejects a dependency after changing the Rust version or resolver.No fixture yet
  3. RFA-006 — A feature exists for the application build but disappears in a build script, proc macro, or cross target.No fixture yet
  4. RFA-007 — Changing warnings to errors causes much more recompilation than expected.No fixture yet
  5. RFA-008 — A small edit invalidates a surprisingly large part of incremental compilation.No fixture yet
  6. RFA-032 — A Rust crate builds in its workspace but `cargo package` fails because files or dependencies are absent from the distributable crate.
  7. RFA-040 — The linker is killed for a release build while debug builds of the same Rust workspace complete successfully.
  8. RFA-042 — A Rust sys crate discovers the wrong native library installation or links headers and binaries from different versions.
  9. RFA-043 — A Rust binary fails to link or crashes because two dependencies bring incompatible copies of one native library.
  10. RFA-098 — A function exists in the source but calls fail E0425 because `#[cfg(feature = "fast")]` removed it from the compiled crate.
  11. RFA-099 — `env!("RFA_BUILD_SHA")` aborts compilation when the build environment does not define the variable.
  12. RFA-100 — `include_str!` cannot find a file that exists relative to the repository root because the macro resolves its path from the Rust source file.
  13. RFA-101 — Rust reports that one crate type differs from an identically named type because two versions of its defining package are present.
  14. RFA-102 — A mutually exclusive feature guard fires even though no single dependency declaration explicitly enables both features.
  15. RFA-103 — Rust cannot resolve a crate that appears in Cargo.toml because the dependency is optional and inactive for this build.
  16. RFA-104 — Cargo rejects the dependency graph because more than one package claims the same value in its links manifest key.
  17. RFA-105 — Cargo reports that package A depends on itself through package B and stops before compiling either crate.
  18. RFA-106 — Cargo refuses to build a package because its declared rust-version is newer than the selected rustc toolchain.
  19. RFA-109 — Cargo cannot parse a feature containing dep:helper because helper is declared as an unconditional dependency.
  20. RFA-110 — A workspace member cannot inherit edition.workspace because the root has no workspace.package.edition value.
  21. RFA-141 — An integration test cannot import a public helper behind cfg(test), even though unit tests in the same library can see and call that helper.
  22. RFA-151 — cargo test fails while compiling a stale example even though every library unit test passes and the example is never executed as a test.
  23. RFA-473 — Declaring extern crate core and extern crate std as core fails with E0259 because two external crates receive the same local crate-root name.
  24. RFA-576 — Compiling a source file as a binary fails with E0601 when it defines worker logic but no crate-level main function.
  25. RFA-597 — Adding a where clause to main fails with E0646 because the runtime entrypoint is not a caller-instantiated generic function.
  26. RFA-631 — Declaring mod transport fails with E0761 when both transport.rs and transport/mod.rs are present as candidate module sources.
  27. RFA-692 — A custom cfg emitted by build.rs fails under deny(unexpected_cfgs) even though Cargo passes the cfg to rustc.
  28. RFA-693 — Using env!(TARGET) in build.rs fails while Cargo says TARGET will be available to the build script.
  29. RFA-694 — An application build script cannot read DEP_RFA_NATIVE_INCLUDE although a transitive sys crate emitted that metadata.
  30. RFA-697 — Changing an environment variable used by build.rs leaves the generated Rust constant at its previous value.
  31. RFA-698 — include! cannot find generated.rs under OUT_DIR even though build.rs successfully wrote a file with that name.
  32. RFA-705 — A variable emitted with cargo::rustc-env exists under cargo run but is missing when the built executable is started directly.
  33. RFA-714 — cargo check fails on an ordinary dead_code warning after build.warnings is set to deny in Cargo configuration.