Skip to content

Commit f171c41

Browse files
committed
Do not suggest adding type param to fn delegation
1 parent c962b95 commit f171c41

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

compiler/rustc_resolve/src/diagnostics.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -576,9 +576,11 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
576576
sugg: None,
577577
static_or_const,
578578
is_self,
579-
item: inner_item.map(|(span, kind)| errs::GenericParamsFromOuterItemInnerItem {
580-
span,
581-
descr: kind.descr().to_string(),
579+
item: inner_item.as_ref().map(|(span, kind)| {
580+
errs::GenericParamsFromOuterItemInnerItem {
581+
span: *span,
582+
descr: kind.descr().to_string(),
583+
}
582584
}),
583585
};
584586

@@ -613,7 +615,9 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
613615
}
614616
};
615617

616-
if let HasGenericParams::Yes(span) = has_generic_params {
618+
if let HasGenericParams::Yes(span) = has_generic_params
619+
&& !matches!(inner_item, Some((_, ItemKind::Delegation(..))))
620+
{
617621
let name = self.tcx.item_name(def_id);
618622
let (span, snippet) = if span.is_empty() {
619623
let snippet = format!("<{name}>");

tests/ui/delegation/target-expr.stderr

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,6 @@ LL | reuse Trait::static_method {
88
LL |
99
LL | let _ = T::Default();
1010
| ^^^^^^^^^^ use of generic parameter from outer item
11-
|
12-
help: try introducing a local generic parameter here
13-
|
14-
LL | reuse Trait::static_methodT, {
15-
| ++
1611

1712
error[E0434]: can't capture dynamic environment in a fn item
1813
--> $DIR/target-expr.rs:26:17

0 commit comments

Comments
 (0)