diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-08-20 07:09:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-20 07:09:02 +0200 |
| commit | 67f77f5a55d0daf3193cc87c6a2c8863ca229169 (patch) | |
| tree | 4db1da2559e0a290c0345e681aea2156cbfd0c0f | |
| parent | eacbe5437ec407c57892ba1cf1da312c9bacfc7d (diff) | |
| parent | af4f66ef938bd21b82a81473974cb620be9a0c72 (diff) | |
| download | rust-67f77f5a55d0daf3193cc87c6a2c8863ca229169.tar.gz rust-67f77f5a55d0daf3193cc87c6a2c8863ca229169.zip | |
Rollup merge of #100709 - JhonnyBillM:port-expected-used-symbol-diagnostic, r=compiler-errors
Migrate typeck's `used` expected symbol diagnostic to `SessionDiagnostic` r? ``@davidtwco``
| -rw-r--r-- | compiler/rustc_error_messages/locales/en-US/typeck.ftl | 2 | ||||
| -rw-r--r-- | compiler/rustc_typeck/src/collect.rs | 7 | ||||
| -rw-r--r-- | compiler/rustc_typeck/src/errors.rs | 7 |
3 files changed, 10 insertions, 6 deletions
diff --git a/compiler/rustc_error_messages/locales/en-US/typeck.ftl b/compiler/rustc_error_messages/locales/en-US/typeck.ftl index 22b32ff838e..272731d9914 100644 --- a/compiler/rustc_error_messages/locales/en-US/typeck.ftl +++ b/compiler/rustc_error_messages/locales/en-US/typeck.ftl @@ -131,3 +131,5 @@ typeck_unused_extern_crate = typeck_extern_crate_not_idiomatic = `extern crate` is not idiomatic in the new edition .suggestion = convert it to a `{$msg_code}` + +typeck_expected_used_symbol = expected `used`, `used(compiler)` or `used(linker)` diff --git a/compiler/rustc_typeck/src/collect.rs b/compiler/rustc_typeck/src/collect.rs index e7c5ecc60ec..970b39dc845 100644 --- a/compiler/rustc_typeck/src/collect.rs +++ b/compiler/rustc_typeck/src/collect.rs @@ -2836,12 +2836,7 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: DefId) -> CodegenFnAttrs { codegen_fn_attrs.flags |= CodegenFnAttrFlags::USED; } Some(_) => { - tcx.sess - .struct_span_err( - attr.span, - "expected `used`, `used(compiler)` or `used(linker)`", - ) - .emit(); + tcx.sess.emit_err(errors::ExpectedUsedSymbol { span: attr.span }); } None => { // Unfortunately, unconditionally using `llvm.used` causes diff --git a/compiler/rustc_typeck/src/errors.rs b/compiler/rustc_typeck/src/errors.rs index 76599721e58..8b1cb8d1c93 100644 --- a/compiler/rustc_typeck/src/errors.rs +++ b/compiler/rustc_typeck/src/errors.rs @@ -340,3 +340,10 @@ pub struct ExternCrateNotIdiomatic { pub msg_code: String, pub suggestion_code: String, } + +#[derive(SessionDiagnostic)] +#[error(typeck::expected_used_symbol)] +pub struct ExpectedUsedSymbol { + #[primary_span] + pub span: Span, +} |
