-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Output filename collisions and ICE with 'cargo doc' on 1.38.0 #65367
Comments
After further investigation, it seems unlikely that this ICE has anything to do with Cargo workspaces. This bug appears to be isolated to the Removing the
One thing to note here is that |
Also, I should mention that running |
Does it also happen on nightly? Is there an older stable version for which this doesn't happen? |
@jonas-schievink I'm checking the latest nightly right now, and I will report back back with my findings. I haven't tried this project with any older stable versions, but I'll try to roll back to 1.37.0 and see what happens. |
Ah, it uses |
@jonas-schievink Awesome, good to know I'm not the only one affected! With that said, the ICE still occurs on the latest 1.40.0-nightly but doesn't occur on 1.37.0. Running Nightly toolchain information
Output file collision warning messages
Full backtrace output for ICE
1.37 toolchain information
Output file collision warning messages``` warning: output filename collision. The lib target `lexical-core` in package `lexical-core v0.6.2` has the same output filename as the lib target `lexical-core` in package `lexical-core v0.4.6`. Colliding filename is: /home/ekalderon/Documents/nix-language-server/target/doc/lexical_core/index.html The targets should have unique names. Consider changing their names to be unique or compiling them separately. This may become a hard error in the future; see . warning: output filename collision. The lib target `proc_macro2` in package `proc-macro2 v1.0.5` has the same output filename as the lib target `proc-macro2` in package `proc-macro2 v0.4.30`. Colliding filename is: /home/ekalderon/Documents/nix-language-server/target/doc/proc_macro2/index.html The output filenames should be unique. Consider changing their names to be unique or compiling them separately. This may become a hard error in the future; see . If this looks unexpected, it may be a bug in Cargo. Please file a bug report at https://github.com/rust-lang/cargo/issues/ with as much information as you can provide. cargo 1.37.0 (9edd08916 2019-08-02) running on `x86_64-unknown-linux-gnu` target `x86_64-unknown-linux-gnu` First unit: Unit { pkg: Package { id: PackageId { name: "proc-macro2", version: "1.0.5", source: "registry `https://github.com/rust-lang/crates.io-index`" }, ..: ".." }, target: Target { ..: lib_target("proc_macro2", ["lib"], "/home/ekalderon/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.5/src/lib.rs", Edition2018) }, profile: Profile { incremental: false, ..: default_doc() }, kind: Host, mode: Doc { deps: true } } Second unit: Unit { pkg: Package { id: PackageId { name: "proc-macro2", version: "0.4.30", source: "registry `https://github.com/rust-lang/crates.io-index`" }, ..: ".." }, target: Target { ..: lib_target("proc-macro2", ["lib"], "/home/ekalderon/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.30/src/lib.rs", Edition2015) }, profile: Profile { incremental: false, ..: default_doc() }, kind: Host, mode: Doc { deps: true } } warning: output filename collision. The lib target `quote` in package `quote v1.0.2` has the same output filename as the lib target `quote` in package `quote v0.6.13`. Colliding filename is: /home/ekalderon/Documents/nix-language-server/target/doc/quote/index.html The targets should have unique names. Consider changing their names to be unique or compiling them separately. This may become a hard error in the future; see . warning: output filename collision. The lib target `syn` in package `syn v1.0.5` has the same output filename as the lib target `syn` in package `syn v0.15.44`. Colliding filename is: /home/ekalderon/Documents/nix-language-server/target/doc/syn/index.html The targets should have unique names. Consider changing their names to be unique or compiling them separately. This may become a hard error in the future; see . warning: output filename collision. The lib target `unicode-xid` in package `unicode-xid v0.2.0` has the same output filename as the lib target `unicode-xid` in package `unicode-xid v0.1.0`. Colliding filename is: /home/ekalderon/Documents/nix-language-server/target/doc/unicode_xid/index.html The targets should have unique names. Consider changing their names to be unique or compiling them separately. This may become a hard error in the future; see . ```While I still get the warnings, I can successfully document the crate containing |
Summary
I was attempting to run
cargo doc --open
at the top level of a Cargo workspace, which resulted in several warnings regarding output filename collisions forlexical-core
,proc_macro2
,quote
,syn
, andunicode-xid
(rust-lang/cargo#6313).Later on, there is an internal compiler error caused by lexical-core 0.4.6:
This issue only occurs in
cargo doc
, as far as I can tell. Runningcargo build
,cargo run
, andcargo bench
all behave as expected.Toolchain information
rustc 1.38.0 (625451e37 2019-09-23)
rustdoc 1.38.0 (625451e37 2019-09-23)
x86_64-unknown-linux-gnu
5.3.5-arch1-1-ARCH
)How to reproduce
cargo doc --open
Debug output
Output filename collision warning messages
Full backtrace output for ICE
The text was updated successfully, but these errors were encountered: