diff options
| author | bors <bors@rust-lang.org> | 2024-12-14 03:55:47 +0000 | 
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-12-14 03:55:47 +0000 | 
| commit | a1740a9c3568e856f6aa12d83e008d38c9749d4b (patch) | |
| tree | 9830a58a9a9a6f2b70c34a550e91e6fc80fe75e7 /compiler/rustc_hir_analysis/src | |
| parent | 4a204bebdfd5cbc3e7edabf41cda3c3ff8b74917 (diff) | |
| parent | 75e778991ec9d07bba422645c2a148829bf9d0f3 (diff) | |
| download | rust-a1740a9c3568e856f6aa12d83e008d38c9749d4b.tar.gz rust-a1740a9c3568e856f6aa12d83e008d38c9749d4b.zip | |
Auto merge of #134292 - matthiaskrgr:rollup-3kbjocl, r=matthiaskrgr
Rollup of 8 pull requests Successful merges: - #134181 (Tweak multispan rendering to reduce output length) - #134209 (validate `--skip` and `--exclude` paths) - #134231 (rustdoc-search: fix mismatched path when parent re-exported twice) - #134236 (crashes: more tests v2) - #134240 (Only dist `llvm-objcopy` if llvm tools are enabled) - #134244 (rustc_borrowck: Stop suggesting the invalid syntax `&mut raw const`) - #134251 (A bunch of cleanups (part 2)) - #134256 (Use a more precise span in placeholder_type_error_diag) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_hir_analysis/src')
| -rw-r--r-- | compiler/rustc_hir_analysis/src/collect.rs | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/compiler/rustc_hir_analysis/src/collect.rs b/compiler/rustc_hir_analysis/src/collect.rs index debfe6af0fb..cb5086c9a65 100644 --- a/compiler/rustc_hir_analysis/src/collect.rs +++ b/compiler/rustc_hir_analysis/src/collect.rs @@ -201,12 +201,13 @@ pub(crate) fn placeholder_type_error_diag<'cx, 'tcx>( placeholder_types.iter().map(|sp| (*sp, (*type_name).to_string())).collect(); if let Some(generics) = generics { - if let Some(arg) = params.iter().find(|arg| { - matches!(arg.name, hir::ParamName::Plain(Ident { name: kw::Underscore, .. })) + if let Some(span) = params.iter().find_map(|arg| match arg.name { + hir::ParamName::Plain(Ident { name: kw::Underscore, span }) => Some(span), + _ => None, }) { // Account for `_` already present in cases like `struct S<_>(_);` and suggest // `struct S<T>(T);` instead of `struct S<_, T>(T);`. - sugg.push((arg.span, (*type_name).to_string())); + sugg.push((span, (*type_name).to_string())); } else if let Some(span) = generics.span_for_param_suggestion() { // Account for bounds, we want `fn foo<T: E, K>(_: K)` not `fn foo<T, K: E>(_: K)`. sugg.push((span, format!(", {type_name}"))); | 
