@@ -41,7 +41,7 @@ pub enum Target {
41
41
Union ,
42
42
Trait ,
43
43
TraitAlias ,
44
- Impl ,
44
+ Impl { of_trait : bool } ,
45
45
Expression ,
46
46
Statement ,
47
47
Arm ,
@@ -86,7 +86,7 @@ impl Target {
86
86
| Target :: Union
87
87
| Target :: Trait
88
88
| Target :: TraitAlias
89
- | Target :: Impl
89
+ | Target :: Impl { .. }
90
90
| Target :: Expression
91
91
| Target :: Statement
92
92
| Target :: Arm
@@ -119,7 +119,7 @@ impl Target {
119
119
ItemKind :: Union ( ..) => Target :: Union ,
120
120
ItemKind :: Trait ( ..) => Target :: Trait ,
121
121
ItemKind :: TraitAlias ( ..) => Target :: TraitAlias ,
122
- ItemKind :: Impl { .. } => Target :: Impl ,
122
+ ItemKind :: Impl ( imp_ ) => Target :: Impl { of_trait : imp_ . of_trait . is_some ( ) } ,
123
123
}
124
124
}
125
125
@@ -141,7 +141,7 @@ impl Target {
141
141
DefKind :: Union => Target :: Union ,
142
142
DefKind :: Trait => Target :: Trait ,
143
143
DefKind :: TraitAlias => Target :: TraitAlias ,
144
- DefKind :: Impl { .. } => Target :: Impl ,
144
+ DefKind :: Impl { of_trait } => Target :: Impl { of_trait } ,
145
145
_ => panic ! ( "impossible case reached" ) ,
146
146
}
147
147
}
@@ -196,7 +196,8 @@ impl Target {
196
196
Target :: Union => "union" ,
197
197
Target :: Trait => "trait" ,
198
198
Target :: TraitAlias => "trait alias" ,
199
- Target :: Impl => "implementation block" ,
199
+ Target :: Impl { of_trait : false } => "inherent implementation block" ,
200
+ Target :: Impl { of_trait : true } => "trait implementation block" ,
200
201
Target :: Expression => "expression" ,
201
202
Target :: Statement => "statement" ,
202
203
Target :: Arm => "match arm" ,
0 commit comments