Skip to content

Commit 1e6ed67

Browse files
committed
Extract lower_generic_param_kind
1 parent a22aad3 commit 1e6ed67

File tree

1 file changed

+19
-12
lines changed
  • compiler/rustc_ast_lowering/src

1 file changed

+19
-12
lines changed

compiler/rustc_ast_lowering/src/lib.rs

+19-12
Original file line numberDiff line numberDiff line change
@@ -1874,7 +1874,25 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
18741874

18751875
#[instrument(level = "trace", skip(self))]
18761876
fn lower_generic_param(&mut self, param: &GenericParam) -> hir::GenericParam<'hir> {
1877-
let (name, kind) = match param.kind {
1877+
let (name, kind) = self.lower_generic_param_kind(param);
1878+
1879+
let hir_id = self.lower_node_id(param.id);
1880+
self.lower_attrs(hir_id, &param.attrs);
1881+
hir::GenericParam {
1882+
hir_id,
1883+
name,
1884+
span: self.lower_span(param.span()),
1885+
pure_wrt_drop: self.sess.contains_name(&param.attrs, sym::may_dangle),
1886+
kind,
1887+
colon_span: param.colon_span.map(|s| self.lower_span(s)),
1888+
}
1889+
}
1890+
1891+
fn lower_generic_param_kind(
1892+
&mut self,
1893+
param: &GenericParam,
1894+
) -> (hir::ParamName, hir::GenericParamKind<'hir>) {
1895+
match param.kind {
18781896
GenericParamKind::Lifetime => {
18791897
// AST resolution emitted an error on those parameters, so we lower them using
18801898
// `ParamName::Error`.
@@ -1908,17 +1926,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
19081926
hir::GenericParamKind::Const { ty, default },
19091927
)
19101928
}
1911-
};
1912-
1913-
let hir_id = self.lower_node_id(param.id);
1914-
self.lower_attrs(hir_id, &param.attrs);
1915-
hir::GenericParam {
1916-
hir_id,
1917-
name,
1918-
span: self.lower_span(param.span()),
1919-
pure_wrt_drop: self.sess.contains_name(&param.attrs, sym::may_dangle),
1920-
kind,
1921-
colon_span: param.colon_span.map(|s| self.lower_span(s)),
19221929
}
19231930
}
19241931

0 commit comments

Comments
 (0)