Skip to content

Commit 6b37a79

Browse files
committed
Refactor Display impl for Target to Target::name method
1 parent e98b0e8 commit 6b37a79

File tree

1 file changed

+45
-45
lines changed

1 file changed

+45
-45
lines changed

compiler/rustc_hir/src/target.rs

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -60,51 +60,7 @@ pub enum Target {
6060

6161
impl Display for Target {
6262
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
63-
write!(
64-
f,
65-
"{}",
66-
match *self {
67-
Target::ExternCrate => "extern crate",
68-
Target::Use => "use",
69-
Target::Static => "static item",
70-
Target::Const => "constant item",
71-
Target::Fn => "function",
72-
Target::Closure => "closure",
73-
Target::Mod => "module",
74-
Target::ForeignMod => "foreign module",
75-
Target::GlobalAsm => "global asm",
76-
Target::TyAlias => "type alias",
77-
Target::OpaqueTy => "opaque type",
78-
Target::Enum => "enum",
79-
Target::Variant => "enum variant",
80-
Target::Struct => "struct",
81-
Target::Field => "struct field",
82-
Target::Union => "union",
83-
Target::Trait => "trait",
84-
Target::TraitAlias => "trait alias",
85-
Target::Impl => "item",
86-
Target::Expression => "expression",
87-
Target::Statement => "statement",
88-
Target::Arm => "match arm",
89-
Target::AssocConst => "associated const",
90-
Target::Method(kind) => match kind {
91-
MethodKind::Inherent => "inherent method",
92-
MethodKind::Trait { body: false } => "required trait method",
93-
MethodKind::Trait { body: true } => "provided trait method",
94-
},
95-
Target::AssocTy => "associated type",
96-
Target::ForeignFn => "foreign function",
97-
Target::ForeignStatic => "foreign static item",
98-
Target::ForeignTy => "foreign type",
99-
Target::GenericParam(kind) => match kind {
100-
GenericParamKind::Type => "type parameter",
101-
GenericParamKind::Lifetime => "lifetime parameter",
102-
GenericParamKind::Const => "const parameter",
103-
},
104-
Target::MacroDef => "macro def",
105-
Target::Param => "function param",
106-
}
107-
)
63+
write!(f, "{}", Self::name(&self))
10864
}
10965
}
11066

@@ -185,4 +141,48 @@ impl Target {
185141
hir::GenericParamKind::Const { .. } => Target::GenericParam(GenericParamKind::Const),
186142
}
187143
}
144+
145+
pub fn name(&self) -> &str {
146+
match *self {
147+
Target::ExternCrate => "extern crate",
148+
Target::Use => "use",
149+
Target::Static => "static item",
150+
Target::Const => "constant item",
151+
Target::Fn => "function",
152+
Target::Closure => "closure",
153+
Target::Mod => "module",
154+
Target::ForeignMod => "foreign module",
155+
Target::GlobalAsm => "global asm",
156+
Target::TyAlias => "type alias",
157+
Target::OpaqueTy => "opaque type",
158+
Target::Enum => "enum",
159+
Target::Variant => "enum variant",
160+
Target::Struct => "struct",
161+
Target::Field => "struct field",
162+
Target::Union => "union",
163+
Target::Trait => "trait",
164+
Target::TraitAlias => "trait alias",
165+
Target::Impl => "item",
166+
Target::Expression => "expression",
167+
Target::Statement => "statement",
168+
Target::Arm => "match arm",
169+
Target::AssocConst => "associated const",
170+
Target::Method(kind) => match kind {
171+
MethodKind::Inherent => "inherent method",
172+
MethodKind::Trait { body: false } => "required trait method",
173+
MethodKind::Trait { body: true } => "provided trait method",
174+
},
175+
Target::AssocTy => "associated type",
176+
Target::ForeignFn => "foreign function",
177+
Target::ForeignStatic => "foreign static item",
178+
Target::ForeignTy => "foreign type",
179+
Target::GenericParam(kind) => match kind {
180+
GenericParamKind::Type => "type parameter",
181+
GenericParamKind::Lifetime => "lifetime parameter",
182+
GenericParamKind::Const => "const parameter",
183+
},
184+
Target::MacroDef => "macro def",
185+
Target::Param => "function param",
186+
}
187+
}
188188
}

0 commit comments

Comments
 (0)