Repository navigation
Build errors with edition=2018 after clean cargo fix --edition #55592
Copy link
Copy link
Closed as not planned
Labels
A-edition-2018Area: The 2018 editionArea: The 2018 editionC-bugCategory: This is a bug.Category: This is a bug.F-rust_2018_preview`#![feature(rust_2018_preview)]``#![feature(rust_2018_preview)]`S-needs-reproStatus: This issue has no reproduction and needs a reproduction to make progress.Status: This issue has no reproduction and needs a reproduction to make progress.
Description
Activity
- addedF-rust_2018_preview`#![feature(rust_2018_preview)]``#![feature(rust_2018_preview)]`
on Nov 1, 2018 Incorrect warnings
warning: unused extern crate --> components/script_plugins/lib.rs:27:1 | 27 | extern crate rustc_plugin; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove it | = note: requested on the command line with `-W unused-extern-crates` warning: unused extern crate --> components/script_plugins/lib.rs:28:1 | 28 | extern crate syntax; | ^^^^^^^^^^^^^^^^^^^^ help: remove it
Making the suggested removal causes build errors.
- added a commit that references this issue
on Mar 15, 2019 Triage: To make progress I think we're going to need some (reasonably easy) way to reproduce the issues.
- addedS-needs-reproStatus: This issue has no reproduction and needs a reproduction to make progress.Status: This issue has no reproduction and needs a reproduction to make progress.
on Nov 12, 2024 My understanding is that Servo from that time can no longer can be built and pass tests with a current rustc because of dependence on unstable compiler features. I am going to close this as "needs repro" will be indefinite from the POV of having something that repros on a current compiler. We can reopen if we find that to be incorrect later.
Metadata
Metadata
Assignees
Labels
A-edition-2018Area: The 2018 editionArea: The 2018 editionC-bugCategory: This is a bug.Category: This is a bug.F-rust_2018_preview`#![feature(rust_2018_preview)]``#![feature(rust_2018_preview)]`S-needs-reproStatus: This issue has no reproduction and needs a reproduction to make progress.Status: This issue has no reproduction and needs a reproduction to make progress.
With
nightly-2018-11-01in Servo, after finally gettingcargo fix --editionto complete without warnings. (Which was not easy: rust-lang/rustfix#149, https://github.com/rust-lang-nursery/rustfix/issues/150), I addededition = "2018"to (almost) allCargo.tomlfiles.At this point, the theory is that
cargo checkshould Just Work, but it doesn’t. I’ve hit multiple issues, let me know if they should be filed separately.Dependencies not known to Cargo
The "extern prelude" is one way to fix this, but another is to is a crate-local path
crate::proc_macro::TokenStreamto the name that is introduced byextern crate.This feature is also missing a tracking issue, the error message points to the implementation PR: #54658 (comment)
Ambiguous imports
Migrating generated code
cargo fixdid fix similar cases in "normal" source files, but generated code needs to be fixed in the code generator.These were the remaining ones after I’d already taken care of the absolute paths.
New warnings
Not as much of an issue than build errors, but slightly unexpected: switching editions uncovered new
unused_mutwarnings that were not present before. Maybe this is because 2018 currently implies NLL / MIR-borrowck?