packed_simd 0.3.3 is an edition 2018 crate. When I build it as part of a normal crates.io-backed dependency graph, it builds fine using nightly Rust. It also builds fine if I make a local git clone and
cargo build that. If I use
cargo vendor to vendor it into a locally-vendored dependency graph but
cd into its directory and
cargo build it from there, it builds fine.
However, when I build the whole vendored dependency graph, the vendored
packed_simd crate fails to build. The errors are related to module references. If I remove
edition = "2018" from
Cargo.toml when building it individually, I get the same errors plus errors about locating
This suggests that when
packed_simd is built as part of a vendored dependency graph, somehow the module path resolution goes into the 2015 mode.
Yet, when watching the process list, I see that
packed_simd is built with the expected nightly
rustc binary and
--edition=2018 is passed as part of the invocation.
The dependency tree uses a workspace where the vendored crates are “excluded”.
There are a couple of existing edition 2018 crates that use 2018-style module paths (
Is this kind of unwanted 2015-mode module path processing in a vendored 2018 crate a known failure mode? How should I go about debugging this?