Skip to content

Commit 19e5d0c

Browse files
committed
Add use RegionNameSource::*; to streamline three methods.
1 parent db05191 commit 19e5d0c

File tree

1 file changed

+42
-52
lines changed

1 file changed

+42
-52
lines changed

compiler/rustc_borrowck/src/diagnostics/region_name.rs

Lines changed: 42 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -75,83 +75,73 @@ pub(crate) enum RegionNameHighlight {
7575

7676
impl RegionName {
7777
pub(crate) fn was_named(&self) -> bool {
78+
use RegionNameSource::*;
7879
match self.source {
79-
RegionNameSource::NamedEarlyParamRegion(..)
80-
| RegionNameSource::NamedLateParamRegion(..)
81-
| RegionNameSource::Static => true,
82-
RegionNameSource::SynthesizedFreeEnvRegion(..)
83-
| RegionNameSource::AnonRegionFromArgument(..)
84-
| RegionNameSource::AnonRegionFromUpvar(..)
85-
| RegionNameSource::AnonRegionFromOutput(..)
86-
| RegionNameSource::AnonRegionFromYieldTy(..)
87-
| RegionNameSource::AnonRegionFromAsyncFn(..)
88-
| RegionNameSource::AnonRegionFromImplSignature(..) => false,
80+
NamedEarlyParamRegion(..) | NamedLateParamRegion(..) | Static => true,
81+
SynthesizedFreeEnvRegion(..)
82+
| AnonRegionFromArgument(..)
83+
| AnonRegionFromUpvar(..)
84+
| AnonRegionFromOutput(..)
85+
| AnonRegionFromYieldTy(..)
86+
| AnonRegionFromAsyncFn(..)
87+
| AnonRegionFromImplSignature(..) => false,
8988
}
9089
}
9190

9291
pub(crate) fn span(&self) -> Option<Span> {
92+
use RegionNameSource::*;
9393
match self.source {
94-
RegionNameSource::Static => None,
95-
RegionNameSource::NamedEarlyParamRegion(span)
96-
| RegionNameSource::NamedLateParamRegion(span)
97-
| RegionNameSource::SynthesizedFreeEnvRegion(span, _)
98-
| RegionNameSource::AnonRegionFromUpvar(span, _)
99-
| RegionNameSource::AnonRegionFromYieldTy(span, _)
100-
| RegionNameSource::AnonRegionFromAsyncFn(span)
101-
| RegionNameSource::AnonRegionFromImplSignature(span, _) => Some(span),
102-
RegionNameSource::AnonRegionFromArgument(ref highlight)
103-
| RegionNameSource::AnonRegionFromOutput(ref highlight, _) => match *highlight {
104-
RegionNameHighlight::MatchedHirTy(span)
105-
| RegionNameHighlight::MatchedAdtAndSegment(span)
106-
| RegionNameHighlight::CannotMatchHirTy(span, _)
107-
| RegionNameHighlight::Occluded(span, _) => Some(span),
108-
},
94+
Static => None,
95+
NamedEarlyParamRegion(span)
96+
| NamedLateParamRegion(span)
97+
| SynthesizedFreeEnvRegion(span, _)
98+
| AnonRegionFromUpvar(span, _)
99+
| AnonRegionFromYieldTy(span, _)
100+
| AnonRegionFromAsyncFn(span)
101+
| AnonRegionFromImplSignature(span, _) => Some(span),
102+
AnonRegionFromArgument(ref highlight) | AnonRegionFromOutput(ref highlight, _) => {
103+
match *highlight {
104+
RegionNameHighlight::MatchedHirTy(span)
105+
| RegionNameHighlight::MatchedAdtAndSegment(span)
106+
| RegionNameHighlight::CannotMatchHirTy(span, _)
107+
| RegionNameHighlight::Occluded(span, _) => Some(span),
108+
}
109+
}
109110
}
110111
}
111112

112113
pub(crate) fn highlight_region_name(&self, diag: &mut Diag<'_>) {
114+
use RegionNameSource::*;
113115
match &self.source {
114-
RegionNameSource::NamedLateParamRegion(span)
115-
| RegionNameSource::NamedEarlyParamRegion(span) => {
116+
NamedLateParamRegion(span) | NamedEarlyParamRegion(span) => {
116117
diag.span_label(*span, format!("lifetime `{self}` defined here"));
117118
}
118-
RegionNameSource::SynthesizedFreeEnvRegion(span, note) => {
119+
SynthesizedFreeEnvRegion(span, note) => {
119120
diag.span_label(*span, format!("lifetime `{self}` represents this closure's body"));
120121
diag.note(*note);
121122
}
122-
RegionNameSource::AnonRegionFromArgument(RegionNameHighlight::CannotMatchHirTy(
123-
span,
124-
type_name,
125-
)) => {
123+
AnonRegionFromArgument(RegionNameHighlight::CannotMatchHirTy(span, type_name)) => {
126124
diag.span_label(*span, format!("has type `{type_name}`"));
127125
}
128-
RegionNameSource::AnonRegionFromArgument(RegionNameHighlight::MatchedHirTy(span))
129-
| RegionNameSource::AnonRegionFromOutput(RegionNameHighlight::MatchedHirTy(span), _)
130-
| RegionNameSource::AnonRegionFromAsyncFn(span) => {
126+
AnonRegionFromArgument(RegionNameHighlight::MatchedHirTy(span))
127+
| AnonRegionFromOutput(RegionNameHighlight::MatchedHirTy(span), _)
128+
| AnonRegionFromAsyncFn(span) => {
131129
diag.span_label(
132130
*span,
133131
format!("let's call the lifetime of this reference `{self}`"),
134132
);
135133
}
136-
RegionNameSource::AnonRegionFromArgument(
137-
RegionNameHighlight::MatchedAdtAndSegment(span),
138-
)
139-
| RegionNameSource::AnonRegionFromOutput(
140-
RegionNameHighlight::MatchedAdtAndSegment(span),
141-
_,
142-
) => {
134+
AnonRegionFromArgument(RegionNameHighlight::MatchedAdtAndSegment(span))
135+
| AnonRegionFromOutput(RegionNameHighlight::MatchedAdtAndSegment(span), _) => {
143136
diag.span_label(*span, format!("let's call this `{self}`"));
144137
}
145-
RegionNameSource::AnonRegionFromArgument(RegionNameHighlight::Occluded(
146-
span,
147-
type_name,
148-
)) => {
138+
AnonRegionFromArgument(RegionNameHighlight::Occluded(span, type_name)) => {
149139
diag.span_label(
150140
*span,
151141
format!("lifetime `{self}` appears in the type {type_name}"),
152142
);
153143
}
154-
RegionNameSource::AnonRegionFromOutput(
144+
AnonRegionFromOutput(
155145
RegionNameHighlight::Occluded(span, type_name),
156146
mir_description,
157147
) => {
@@ -162,28 +152,28 @@ impl RegionName {
162152
),
163153
);
164154
}
165-
RegionNameSource::AnonRegionFromUpvar(span, upvar_name) => {
155+
AnonRegionFromUpvar(span, upvar_name) => {
166156
diag.span_label(
167157
*span,
168158
format!("lifetime `{self}` appears in the type of `{upvar_name}`"),
169159
);
170160
}
171-
RegionNameSource::AnonRegionFromOutput(
161+
AnonRegionFromOutput(
172162
RegionNameHighlight::CannotMatchHirTy(span, type_name),
173163
mir_description,
174164
) => {
175165
diag.span_label(*span, format!("return type{mir_description} is {type_name}"));
176166
}
177-
RegionNameSource::AnonRegionFromYieldTy(span, type_name) => {
167+
AnonRegionFromYieldTy(span, type_name) => {
178168
diag.span_label(*span, format!("yield type is {type_name}"));
179169
}
180-
RegionNameSource::AnonRegionFromImplSignature(span, location) => {
170+
AnonRegionFromImplSignature(span, location) => {
181171
diag.span_label(
182172
*span,
183173
format!("lifetime `{self}` appears in the `impl`'s {location}"),
184174
);
185175
}
186-
RegionNameSource::Static => {}
176+
Static => {}
187177
}
188178
}
189179
}

0 commit comments

Comments
 (0)