Skip to content

Commit 008daf0

Browse files
committed
Add constness qualifier to fn pointer
1 parent 5565241 commit 008daf0

File tree

3 files changed

+3
-5
lines changed

3 files changed

+3
-5
lines changed

compiler/rustc_ast/src/ast.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1900,6 +1900,7 @@ pub struct BareFnTy {
19001900
pub ext: Extern,
19011901
pub generic_params: Vec<GenericParam>,
19021902
pub decl: P<FnDecl>,
1903+
pub constness: Const
19031904
}
19041905

19051906
/// The various kinds of type recognized by the compiler.

compiler/rustc_ast/src/mut_visit.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ pub fn noop_visit_ty<T: MutVisitor>(ty: &mut P<Ty>, vis: &mut T) {
462462
vis.visit_mt(mt);
463463
}
464464
TyKind::BareFn(bft) => {
465-
let BareFnTy { unsafety: _, ext: _, generic_params, decl } = bft.deref_mut();
465+
let BareFnTy { unsafety: _, ext: _, constness: _, generic_params, decl } = bft.deref_mut();
466466
generic_params.flat_map_in_place(|param| vis.flat_map_generic_param(param));
467467
vis.visit_fn_decl(decl);
468468
}

compiler/rustc_parse/src/parser/ty.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -330,13 +330,10 @@ impl<'a> Parser<'a> {
330330
let ast::FnHeader { ext, unsafety, constness, asyncness } = self.parse_fn_front_matter()?;
331331
let decl = self.parse_fn_decl(|_| false, AllowPlus::No)?;
332332
let whole_span = lo.to(self.prev_token.span);
333-
if let ast::Const::Yes(span) = constness {
334-
self.error_fn_ptr_bad_qualifier(whole_span, span, "const");
335-
}
336333
if let ast::Async::Yes { span, .. } = asyncness {
337334
self.error_fn_ptr_bad_qualifier(whole_span, span, "async");
338335
}
339-
Ok(TyKind::BareFn(P(BareFnTy { ext, unsafety, generic_params: params, decl })))
336+
Ok(TyKind::BareFn(P(BareFnTy { ext, unsafety, generic_params: params, decl, constness })))
340337
}
341338

342339
/// Emit an error for the given bad function pointer qualifier.

0 commit comments

Comments
 (0)