-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Avoid ICE when the generic_span is empty #108003
Conversation
This comment has been minimized.
This comment has been minimized.
e471ae6
to
a86bd6c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me with nit or not
@@ -2181,6 +2181,11 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> { | |||
generics_span: Span, | |||
params: &[ast::GenericParam], | |||
) { | |||
if generics_span.is_empty() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm... maybe we should put this check into the deletion_span
closure instead, and just return None
? It's still kind of nice to be able to emit this lint.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about we delay the check to this position, so we can emit more possible lint
rust/compiler/rustc_lint/src/context.rs
Line 842 in 5348a89
vec![(deletion_span, String::new()), (use_span, replace_lt)], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That works too probably
a86bd6c
to
a9e9459
Compare
a9e9459
to
3180f1c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me when ci is green
| ^^ --- | ||
| | | | ||
| | ...is used only here | ||
| | help: elide the single-use lifetime |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This help:
in the middle is still a bit unsatisfying, but oh well
@bors r=compiler-errors rollup |
…mpiler-errors Avoid ICE when the generic_span is empty Fixes rust-lang#107998 r? `@TaKO8Ki`
…mpiler-errors Avoid ICE when the generic_span is empty Fixes rust-lang#107998 r? ``@TaKO8Ki``
…iaskrgr Rollup of 10 pull requests Successful merges: - rust-lang#103478 ( Suggest fix for misplaced generic params on fn item rust-lang#103366 ) - rust-lang#107739 (Check for overflow in evaluate_canonical_goal) - rust-lang#108003 (Avoid ICE when the generic_span is empty) - rust-lang#108016 ("Basic usage" is redundant for there is just one example) - rust-lang#108023 (Shrink size of array benchmarks) - rust-lang#108024 (add message to update Cargo.toml when x is changed) - rust-lang#108025 (rustdoc: add more tooltips to intra-doc links) - rust-lang#108029 (s/eval_usize/eval_target_usize/ for clarity) - rust-lang#108035 (Avoid using a dead email address as the main email address) - rust-lang#108038 (Remove needless supertrait constraints from Interner projections) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Fixes #107998
r? @TaKO8Ki