Migrate doc_comment_on_fn_param, forbidden_attr_on_fn_param
This commit is contained in:
parent
269c85390c
commit
c6903c04b1
@ -372,19 +372,9 @@ fn check_decl_attrs(&self, fn_decl: &FnDecl) {
|
|||||||
})
|
})
|
||||||
.for_each(|attr| {
|
.for_each(|attr| {
|
||||||
if attr.is_doc_comment() {
|
if attr.is_doc_comment() {
|
||||||
self.err_handler()
|
self.session.emit_err(DocCommentOnFnParam { span: attr.span });
|
||||||
.struct_span_err(
|
|
||||||
attr.span,
|
|
||||||
"documentation comments cannot be applied to function parameters",
|
|
||||||
)
|
|
||||||
.span_label(attr.span, "doc comments are not allowed here")
|
|
||||||
.emit();
|
|
||||||
} else {
|
} else {
|
||||||
self.err_handler().span_err(
|
self.session.emit_err(ForbiddenAttrOnFnParam { span: attr.span });
|
||||||
attr.span,
|
|
||||||
"allow, cfg, cfg_attr, deny, expect, \
|
|
||||||
forbid, and warn are the only allowed built-in attributes in function parameters",
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -126,3 +126,18 @@ pub struct CVarArgsNotLast {
|
|||||||
#[primary_span]
|
#[primary_span]
|
||||||
pub span: Span,
|
pub span: Span,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(SessionDiagnostic)]
|
||||||
|
#[error(ast_passes::doc_comment_on_fn_param)]
|
||||||
|
pub struct DocCommentOnFnParam {
|
||||||
|
#[primary_span]
|
||||||
|
#[label]
|
||||||
|
pub span: Span,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(SessionDiagnostic)]
|
||||||
|
#[error(ast_passes::forbidden_attr_on_fn_param)]
|
||||||
|
pub struct ForbiddenAttrOnFnParam {
|
||||||
|
#[primary_span]
|
||||||
|
pub span: Span,
|
||||||
|
}
|
||||||
|
@ -46,3 +46,10 @@ ast_passes_c_var_args_without_named_arg =
|
|||||||
|
|
||||||
ast_passes_c_var_args_not_last =
|
ast_passes_c_var_args_not_last =
|
||||||
`...` must be the last argument of a C-variadic function
|
`...` must be the last argument of a C-variadic function
|
||||||
|
|
||||||
|
ast_passes_doc_comment_on_fn_param =
|
||||||
|
documentation comments cannot be applied to function parameters
|
||||||
|
.label = doc comments are not allowed here
|
||||||
|
|
||||||
|
ast_passes_forbidden_attr_on_fn_param =
|
||||||
|
allow, cfg, cfg_attr, deny, expect, forbid, and warn are the only allowed built-in attributes in function parameters
|
||||||
|
Loading…
Reference in New Issue
Block a user