diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2025-07-12 14:53:14 +0000 | 
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2025-07-17 22:21:21 +0000 | 
| commit | 87a27f94b095793a1833a9dacec1493cc6cdcd6b (patch) | |
| tree | e6fe38c6a5337f0a60f728d2b7c6019e175941ee /compiler/rustc_hir/src | |
| parent | 9cd918bcbbc26deb005eb4e1bd9a445380195e56 (diff) | |
| download | rust-87a27f94b095793a1833a9dacec1493cc6cdcd6b.tar.gz rust-87a27f94b095793a1833a9dacec1493cc6cdcd6b.zip | |
Specify of_trait in Target::Impl.
Diffstat (limited to 'compiler/rustc_hir/src')
| -rw-r--r-- | compiler/rustc_hir/src/target.rs | 11 | 
1 files changed, 6 insertions, 5 deletions
| diff --git a/compiler/rustc_hir/src/target.rs b/compiler/rustc_hir/src/target.rs index 601898023fc..5e13c8ec11f 100644 --- a/compiler/rustc_hir/src/target.rs +++ b/compiler/rustc_hir/src/target.rs @@ -41,7 +41,7 @@ pub enum Target { Union, Trait, TraitAlias, - Impl, + Impl { of_trait: bool }, Expression, Statement, Arm, @@ -86,7 +86,7 @@ impl Target { | Target::Union | Target::Trait | Target::TraitAlias - | Target::Impl + | Target::Impl { .. } | Target::Expression | Target::Statement | Target::Arm @@ -119,7 +119,7 @@ impl Target { ItemKind::Union(..) => Target::Union, ItemKind::Trait(..) => Target::Trait, ItemKind::TraitAlias(..) => Target::TraitAlias, - ItemKind::Impl { .. } => Target::Impl, + ItemKind::Impl(imp_) => Target::Impl { of_trait: imp_.of_trait.is_some() }, } } @@ -141,7 +141,7 @@ impl Target { DefKind::Union => Target::Union, DefKind::Trait => Target::Trait, DefKind::TraitAlias => Target::TraitAlias, - DefKind::Impl { .. } => Target::Impl, + DefKind::Impl { of_trait } => Target::Impl { of_trait }, _ => panic!("impossible case reached"), } } @@ -196,7 +196,8 @@ impl Target { Target::Union => "union", Target::Trait => "trait", Target::TraitAlias => "trait alias", - Target::Impl => "implementation block", + Target::Impl { of_trait: false } => "inherent implementation block", + Target::Impl { of_trait: true } => "trait implementation block", Target::Expression => "expression", Target::Statement => "statement", Target::Arm => "match arm", | 
