Closed
Description
In the beta run for Rust 1.47 the release team discovered that #75516 is breaking more than 475 crates or git repositories currently compiling, across at least the following crates:
js-sys
clap
time-macros-impl
cc @petrochenkov @matklad @rust-lang/release
Metadata
Metadata
Assignees
Labels
Area: The lexing & parsing of Rust source code to an ASTCategory: This is a bug.Critical priorityRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the release subteam, which will review and decide on the PR/issue.Performance or correctness regression from stable to beta.
Activity
pietroalbini commentedon Sep 11, 2020
Personally I think that's too much breakage to land, even though it was a deprecation warning since 2017.
petrochenkov commentedon Sep 11, 2020
I agree that it's not an acceptable breakage, although I suspect that most of it happens due to committed
Cargo.lock
s.I think we can add a hack accepting a missing fragment specifier for the 2-3 specific crates responsible for majority of the breakage, like it was done in #73345.
(In a more local way than before #75516, without
Option<NonterminalKind>
inMetaVarDecl
, and withoutmissing_fragment_specifiers
in session.)Mark-Simulacrum commentedon Sep 11, 2020
We could also make it a hard warning rather than error for all crates, but I'm not sure if that's better. It also doesn't need session state.
tmandry commentedon Sep 12, 2020
To expand a bit: cargo hides warnings generated by your dependencies, so crate owners don't feel the pain of depending on these old versions. I believe it passes
-Awarnings
to rustc, but otherwise passes through the output unchanged. If we had a warning that printed in spite of-Awarnings
it would encourage people to update their deps.I assume that is what is meant by "hard warning"?
Mark-Simulacrum commentedon Oct 2, 2020
I've posted a revert to current beta (#77456) but we still need to fix this on master. Moving milestone to 1.48, though.
26 remaining items
Rollup merge of rust-lang#80296 - wesleywiser:revert_missing_fragment…
Rollup merge of rust-lang#80296 - wesleywiser:revert_missing_fragment…
Rollup merge of rust-lang#80296 - wesleywiser:revert_missing_fragment…
Rollup merge of rust-lang#80296 - wesleywiser:revert_missing_fragment…
Auto merge of rust-lang#80296 - wesleywiser:revert_missing_fragment_s…
compute_locs
once per rule #95669missing_fragment_specifier
an error in edition 2024 #128006missing_fragment_specifier
an unconditional error #128425