diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-03-20 09:15:00 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-20 09:15:00 +0100 |
| commit | 355d87807fe68426bf525971bc9fdadc63c6c796 (patch) | |
| tree | f1516870df9d3adefbefd8d8faefe3b74aed52e8 /compiler | |
| parent | 24a7aad08241556a532b76fb601c5aba53a695bb (diff) | |
| parent | 1338a45d9814b031466753a99a58ca688014f9cf (diff) | |
| download | rust-355d87807fe68426bf525971bc9fdadc63c6c796.tar.gz rust-355d87807fe68426bf525971bc9fdadc63c6c796.zip | |
Rollup merge of #95108 - scottmcm:more-in-target-display, r=Dylan-DPC
Give more details in `Display` for `hir::Target`
Made because I was making a code change and got a very confusing "should be applied to a method, not a method" error.
```
error[E0718]: `into_try_type` language item must be applied to a method
--> library\core\src\ops\try_trait.rs:352:32
|
352 | #[cfg_attr(not(bootstrap), lang = "into_try_type")]
| ^^^^^^^^^^^^^^^^^^^^^^ attribute should be applied to a method, not a method
```
With this change the error is more actionable
```
error[E0718]: `into_try_type` language item must be applied to a required trait method
--> library\core\src\ops\try_trait.rs:352:32
|
352 | #[cfg_attr(not(bootstrap), lang = "into_try_type")]
| ^^^^^^^^^^^^^^^^^^^^^^ attribute should be applied to a required trait method, not a provided trait method
```
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_hir/src/target.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_hir/src/target.rs b/compiler/rustc_hir/src/target.rs index 29c948fe318..70d9db4a84b 100644 --- a/compiler/rustc_hir/src/target.rs +++ b/compiler/rustc_hir/src/target.rs @@ -86,7 +86,11 @@ impl Display for Target { Target::Statement => "statement", Target::Arm => "match arm", Target::AssocConst => "associated const", - Target::Method(_) => "method", + Target::Method(kind) => match kind { + MethodKind::Inherent => "inherent method", + MethodKind::Trait { body: false } => "required trait method", + MethodKind::Trait { body: true } => "provided trait method", + }, Target::AssocTy => "associated type", Target::ForeignFn => "foreign function", Target::ForeignStatic => "foreign static item", |
