X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=compiler%2Frustc_ast_passes%2Fsrc%2Fast_validation.rs;h=c8b46dde1c741ff45bbd6fee6130566a544c6875;hb=b28cc097cfbdc9e2f105a7e644389266027bcf7d;hp=3dd3cc537e6f1338e848befcaf731eee7bfc37e5;hpb=07e0bc9600128aef1922cd67939c303d92b3fafc;p=rust.git diff --git a/compiler/rustc_ast_passes/src/ast_validation.rs b/compiler/rustc_ast_passes/src/ast_validation.rs index 3dd3cc537e6..c8b46dde1c7 100644 --- a/compiler/rustc_ast_passes/src/ast_validation.rs +++ b/compiler/rustc_ast_passes/src/ast_validation.rs @@ -331,7 +331,7 @@ fn check_decl_num_args(&self, fn_decl: &FnDecl) { let max_num_args: usize = u16::MAX.into(); if fn_decl.inputs.len() > max_num_args { let Param { span, .. } = fn_decl.inputs[0]; - self.session.emit_err(TooManyParams { span, max_num_args }); + self.session.emit_fatal(FnParamTooMany { span, max_num_args }); } } @@ -339,13 +339,13 @@ fn check_decl_cvaradic_pos(&self, fn_decl: &FnDecl) { match &*fn_decl.inputs { [Param { ty, span, .. }] => { if let TyKind::CVarArgs = ty.kind { - self.session.emit_err(CVarArgsIsSoleParam { span: *span }); + self.session.emit_err(FnParamCVarArgsOnly { span: *span }); } } [ps @ .., _] => { for Param { ty, span, .. } in ps { if let TyKind::CVarArgs = ty.kind { - self.session.emit_err(CVarArgsNotLast { span: *span }); + self.session.emit_err(FnParamCVarArgsNotLast { span: *span }); } } } @@ -372,9 +372,9 @@ fn check_decl_attrs(&self, fn_decl: &FnDecl) { }) .for_each(|attr| { if attr.is_doc_comment() { - self.session.emit_err(DocCommentOnFnParam { span: attr.span }); + self.session.emit_err(FnParamDocComment { span: attr.span }); } else { - self.session.emit_err(ForbiddenAttrOnFnParam { span: attr.span }); + self.session.emit_err(FnParamForbiddenAttr { span: attr.span }); } }); } @@ -382,14 +382,7 @@ fn check_decl_attrs(&self, fn_decl: &FnDecl) { fn check_decl_self_param(&self, fn_decl: &FnDecl, self_semantic: SelfSemantic) { if let (SelfSemantic::No, [param, ..]) = (self_semantic, &*fn_decl.inputs) { if param.is_self() { - self.err_handler() - .struct_span_err( - param.span, - "`self` parameter is only allowed in associated functions", - ) - .span_label(param.span, "not semantically valid as function parameter") - .note("associated functions are those in `impl` or `trait` definitions") - .emit(); + self.session.emit_err(FnParamForbiddenSelf { span: param.span }); } } }