From 8d042f4483b60ceaa98a6bb2a778fa5ac4226bbe Mon Sep 17 00:00:00 2001 From: finalchild Date: Thu, 18 Aug 2022 16:57:25 +0900 Subject: [PATCH] Migrate trait_fn_const --- compiler/rustc_ast_passes/src/errors.rs | 8 ++++++++ .../rustc_error_messages/locales/en-US/ast_passes.ftl | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/compiler/rustc_ast_passes/src/errors.rs b/compiler/rustc_ast_passes/src/errors.rs index ed44beafff2..7a7073b5a51 100644 --- a/compiler/rustc_ast_passes/src/errors.rs +++ b/compiler/rustc_ast_passes/src/errors.rs @@ -82,3 +82,11 @@ pub struct TraitFnAsync { #[label] pub span: Span, } + +#[derive(SessionDiagnostic)] +#[error(ast_passes::trait_fn_const, code = "E0379")] +pub struct TraitFnConst { + #[primary_span] + #[label] + pub span: Span, +} diff --git a/compiler/rustc_error_messages/locales/en-US/ast_passes.ftl b/compiler/rustc_error_messages/locales/en-US/ast_passes.ftl index ab2313fd86c..fa6a02493f3 100644 --- a/compiler/rustc_error_messages/locales/en-US/ast_passes.ftl +++ b/compiler/rustc_error_messages/locales/en-US/ast_passes.ftl @@ -27,3 +27,7 @@ ast_passes_trait_fn_async = .label = `async` because of this .note = `async` trait functions are not currently supported .note2 = consider using the `async-trait` crate: https://crates.io/crates/async-trait + +ast_passes_trait_fn_const = + functions in traits cannot be declared const + .label = functions in traits cannot be const