Auto merge of #110478 - jyn514:stage1-fulldeps, r=albertlarsan68
Support `x test --stage 1 ui-fulldeps` `@Nilstrieb` had an excellent idea the other day: the same way that rustdoc is able to load `rustc_driver` from the sysroot, ui-fulldeps tests should also be able to load it from the sysroot. That allows us to run fulldeps tests with stage1, without having to fully rebuild the compiler twice. It does unfortunately have the downside that we're building the tests with the *bootstrap* compiler, not the in-tree sources, but since most of the fulldeps tests are for the *API* of the compiler, that seems ok. I think it's possible to extend this to `run-make-fulldeps`, but I've run out of energy for tonight. - Move `plugin` tests into a subdirectory. Plugins are loaded at runtime with `dlopen` and so require the ABI of the running compile to match the ABI of the compiler linked with `rustc_driver`. As a result they can't be supported in stage 1 and have to use `// ignore-stage1`. - Remove `ignore-stage1` from most non-plugin tests - Ignore diagnostic tests in stage 1. Even though this requires a stage 2 build to load rustc_driver, it's primarily testing the error message that the *running* compiler emits when the diagnostic struct is malformed. - Pass `-Zforce-unstable-if-unmarked` in stage1, not just stage2. That allows running `hash-stable-is-unstable` in stage1, since it now suggests adding `rustc_private` to enable loading the crates. - Add libLLVM.so to the stage0 target sysroot, to allow fulldeps tests that act as custom drivers to load it at runtime. - Pass `--sysroot stage0-sysroot` in compiletest so that we use the correct version of std. - Move a few lint tests from ui-fulldeps to ui These had an `aux-build:lint-group-plugin-test.rs` that they never actually loaded with `feature(plugin)` nor tested. I removed the unused aux-build and they pass fine with stage 1. Fixes https://github.com/rust-lang/rust/issues/75905.
This commit is contained in:
commit
de96f3d873
72 changed files with 244 additions and 212 deletions
|
@ -150,7 +150,7 @@ fn main() {
|
||||||
// allow the `rustc_private` feature to link to other unstable crates
|
// allow the `rustc_private` feature to link to other unstable crates
|
||||||
// also in the sysroot. We also do this for host crates, since those
|
// also in the sysroot. We also do this for host crates, since those
|
||||||
// may be proc macros, in which case we might ship them.
|
// may be proc macros, in which case we might ship them.
|
||||||
if env::var_os("RUSTC_FORCE_UNSTABLE").is_some() && (stage != "0" || target.is_some()) {
|
if env::var_os("RUSTC_FORCE_UNSTABLE").is_some() {
|
||||||
cmd.arg("-Z").arg("force-unstable-if-unmarked");
|
cmd.arg("-Z").arg("force-unstable-if-unmarked");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1008,9 +1008,24 @@ impl<'a> Builder<'a> {
|
||||||
// Avoid deleting the rustlib/ directory we just copied
|
// Avoid deleting the rustlib/ directory we just copied
|
||||||
// (in `impl Step for Sysroot`).
|
// (in `impl Step for Sysroot`).
|
||||||
if !builder.download_rustc() {
|
if !builder.download_rustc() {
|
||||||
|
builder.verbose(&format!(
|
||||||
|
"Removing sysroot {} to avoid caching bugs",
|
||||||
|
sysroot.display()
|
||||||
|
));
|
||||||
let _ = fs::remove_dir_all(&sysroot);
|
let _ = fs::remove_dir_all(&sysroot);
|
||||||
t!(fs::create_dir_all(&sysroot));
|
t!(fs::create_dir_all(&sysroot));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if self.compiler.stage == 0 {
|
||||||
|
// The stage 0 compiler for the build triple is always pre-built.
|
||||||
|
// Ensure that `libLLVM.so` ends up in the target libdir, so that ui-fulldeps tests can use it when run.
|
||||||
|
dist::maybe_install_llvm_target(
|
||||||
|
builder,
|
||||||
|
self.compiler.host,
|
||||||
|
&builder.sysroot(self.compiler),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
INTERNER.intern_path(sysroot)
|
INTERNER.intern_path(sysroot)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1260,6 +1260,7 @@ impl Step for Sysroot {
|
||||||
};
|
};
|
||||||
let sysroot = sysroot_dir(compiler.stage);
|
let sysroot = sysroot_dir(compiler.stage);
|
||||||
|
|
||||||
|
builder.verbose(&format!("Removing sysroot {} to avoid caching bugs", sysroot.display()));
|
||||||
let _ = fs::remove_dir_all(&sysroot);
|
let _ = fs::remove_dir_all(&sysroot);
|
||||||
t!(fs::create_dir_all(&sysroot));
|
t!(fs::create_dir_all(&sysroot));
|
||||||
|
|
||||||
|
|
|
@ -1448,7 +1448,7 @@ note: if you're sure you want to do this, please open an issue as to why. In the
|
||||||
crate::detail_exit(1);
|
crate::detail_exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
let compiler = self.compiler;
|
let mut compiler = self.compiler;
|
||||||
let target = self.target;
|
let target = self.target;
|
||||||
let mode = self.mode;
|
let mode = self.mode;
|
||||||
let suite = self.suite;
|
let suite = self.suite;
|
||||||
|
@ -1461,15 +1461,28 @@ note: if you're sure you want to do this, please open an issue as to why. In the
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if suite == "debuginfo" {
|
// Support stage 1 ui-fulldeps. This is somewhat complicated: ui-fulldeps tests for the most
|
||||||
builder
|
// part test the *API* of the compiler, not how it compiles a given file. As a result, we
|
||||||
.ensure(dist::DebuggerScripts { sysroot: builder.sysroot(compiler), host: target });
|
// can run them against the stage 1 sources as long as we build them with the stage 0
|
||||||
}
|
// bootstrap compiler.
|
||||||
|
// NOTE: Only stage 1 is special cased because we need the rustc_private artifacts to match the
|
||||||
|
// running compiler in stage 2 when plugins run.
|
||||||
|
let stage_id = if suite == "ui-fulldeps" && compiler.stage == 1 {
|
||||||
|
compiler = builder.compiler(compiler.stage - 1, target);
|
||||||
|
format!("stage{}-{}", compiler.stage + 1, target)
|
||||||
|
} else {
|
||||||
|
format!("stage{}-{}", compiler.stage, target)
|
||||||
|
};
|
||||||
|
|
||||||
if suite.ends_with("fulldeps") {
|
if suite.ends_with("fulldeps") {
|
||||||
builder.ensure(compile::Rustc::new(compiler, target));
|
builder.ensure(compile::Rustc::new(compiler, target));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if suite == "debuginfo" {
|
||||||
|
builder
|
||||||
|
.ensure(dist::DebuggerScripts { sysroot: builder.sysroot(compiler), host: target });
|
||||||
|
}
|
||||||
|
|
||||||
builder.ensure(compile::Std::new(compiler, target));
|
builder.ensure(compile::Std::new(compiler, target));
|
||||||
// ensure that `libproc_macro` is available on the host.
|
// ensure that `libproc_macro` is available on the host.
|
||||||
builder.ensure(compile::Std::new(compiler, compiler.host));
|
builder.ensure(compile::Std::new(compiler, compiler.host));
|
||||||
|
@ -1528,7 +1541,7 @@ note: if you're sure you want to do this, please open an issue as to why. In the
|
||||||
cmd.arg("--src-base").arg(builder.src.join("tests").join(suite));
|
cmd.arg("--src-base").arg(builder.src.join("tests").join(suite));
|
||||||
cmd.arg("--build-base").arg(testdir(builder, compiler.host).join(suite));
|
cmd.arg("--build-base").arg(testdir(builder, compiler.host).join(suite));
|
||||||
cmd.arg("--sysroot-base").arg(builder.sysroot(compiler));
|
cmd.arg("--sysroot-base").arg(builder.sysroot(compiler));
|
||||||
cmd.arg("--stage-id").arg(format!("stage{}-{}", compiler.stage, target));
|
cmd.arg("--stage-id").arg(stage_id);
|
||||||
cmd.arg("--suite").arg(suite);
|
cmd.arg("--suite").arg(suite);
|
||||||
cmd.arg("--mode").arg(mode);
|
cmd.arg("--mode").arg(mode);
|
||||||
cmd.arg("--target").arg(target.rustc_target_arg());
|
cmd.arg("--target").arg(target.rustc_target_arg());
|
||||||
|
|
|
@ -422,7 +422,9 @@ pub struct TargetCfgs {
|
||||||
|
|
||||||
impl TargetCfgs {
|
impl TargetCfgs {
|
||||||
fn new(config: &Config) -> TargetCfgs {
|
fn new(config: &Config) -> TargetCfgs {
|
||||||
let targets: HashMap<String, TargetCfg> = if config.stage_id.starts_with("stage0-") {
|
let targets: HashMap<String, TargetCfg> = if config.stage_id.starts_with("stage0-")
|
||||||
|
|| (config.suite == "ui-fulldeps" && config.stage_id.starts_with("stage1-"))
|
||||||
|
{
|
||||||
// #[cfg(bootstrap)]
|
// #[cfg(bootstrap)]
|
||||||
// Needed only for one cycle, remove during the bootstrap bump.
|
// Needed only for one cycle, remove during the bootstrap bump.
|
||||||
Self::collect_all_slow(config)
|
Self::collect_all_slow(config)
|
||||||
|
|
|
@ -1900,6 +1900,9 @@ impl<'test> TestCx<'test> {
|
||||||
// Use a single thread for efficiency and a deterministic error message order
|
// Use a single thread for efficiency and a deterministic error message order
|
||||||
rustc.arg("-Zthreads=1");
|
rustc.arg("-Zthreads=1");
|
||||||
|
|
||||||
|
// In stage 0, make sure we use `stage0-sysroot` instead of the bootstrap sysroot.
|
||||||
|
rustc.arg("--sysroot").arg(&self.config.sysroot_base);
|
||||||
|
|
||||||
// Optionally prevent default --target if specified in test compile-flags.
|
// Optionally prevent default --target if specified in test compile-flags.
|
||||||
let custom_target = self.props.compile_flags.iter().any(|x| x.starts_with("--target"));
|
let custom_target = self.props.compile_flags.iter().any(|x| x.starts_with("--target"));
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ use std::path::{Path, PathBuf};
|
||||||
|
|
||||||
// FIXME: The following limits should be reduced eventually.
|
// FIXME: The following limits should be reduced eventually.
|
||||||
const ENTRY_LIMIT: usize = 885;
|
const ENTRY_LIMIT: usize = 885;
|
||||||
const ROOT_ENTRY_LIMIT: usize = 891;
|
const ROOT_ENTRY_LIMIT: usize = 894;
|
||||||
const ISSUES_ENTRY_LIMIT: usize = 1977;
|
const ISSUES_ENTRY_LIMIT: usize = 1977;
|
||||||
|
|
||||||
fn check_entries(tests_path: &Path, bad: &mut bool) {
|
fn check_entries(tests_path: &Path, bad: &mut bool) {
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
// Test that the Callbacks interface to the compiler works.
|
// Test that the Callbacks interface to the compiler works.
|
||||||
|
|
||||||
// ignore-cross-compile
|
// ignore-cross-compile
|
||||||
// ignore-stage1
|
|
||||||
// ignore-remote
|
// ignore-remote
|
||||||
|
|
||||||
#![feature(rustc_private)]
|
#![feature(rustc_private)]
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
// ignore-stage1
|
|
||||||
// compile-flags: -Zdeduplicate-diagnostics=yes
|
// compile-flags: -Zdeduplicate-diagnostics=yes
|
||||||
extern crate rustc_data_structures;
|
extern crate rustc_data_structures;
|
||||||
//~^ use of unstable library feature 'rustc_private'
|
//~^ use of unstable library feature 'rustc_private'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
||||||
--> $DIR/hash-stable-is-unstable.rs:3:1
|
--> $DIR/hash-stable-is-unstable.rs:2:1
|
||||||
|
|
|
|
||||||
LL | extern crate rustc_data_structures;
|
LL | extern crate rustc_data_structures;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -8,7 +8,7 @@ LL | extern crate rustc_data_structures;
|
||||||
= help: add `#![feature(rustc_private)]` to the crate attributes to enable
|
= help: add `#![feature(rustc_private)]` to the crate attributes to enable
|
||||||
|
|
||||||
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
||||||
--> $DIR/hash-stable-is-unstable.rs:5:1
|
--> $DIR/hash-stable-is-unstable.rs:4:1
|
||||||
|
|
|
|
||||||
LL | extern crate rustc_macros;
|
LL | extern crate rustc_macros;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -17,7 +17,7 @@ LL | extern crate rustc_macros;
|
||||||
= help: add `#![feature(rustc_private)]` to the crate attributes to enable
|
= help: add `#![feature(rustc_private)]` to the crate attributes to enable
|
||||||
|
|
||||||
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
||||||
--> $DIR/hash-stable-is-unstable.rs:7:1
|
--> $DIR/hash-stable-is-unstable.rs:6:1
|
||||||
|
|
|
|
||||||
LL | extern crate rustc_query_system;
|
LL | extern crate rustc_query_system;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -26,7 +26,7 @@ LL | extern crate rustc_query_system;
|
||||||
= help: add `#![feature(rustc_private)]` to the crate attributes to enable
|
= help: add `#![feature(rustc_private)]` to the crate attributes to enable
|
||||||
|
|
||||||
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
||||||
--> $DIR/hash-stable-is-unstable.rs:10:5
|
--> $DIR/hash-stable-is-unstable.rs:9:5
|
||||||
|
|
|
|
||||||
LL | use rustc_macros::HashStable;
|
LL | use rustc_macros::HashStable;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -35,7 +35,7 @@ LL | use rustc_macros::HashStable;
|
||||||
= help: add `#![feature(rustc_private)]` to the crate attributes to enable
|
= help: add `#![feature(rustc_private)]` to the crate attributes to enable
|
||||||
|
|
||||||
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
||||||
--> $DIR/hash-stable-is-unstable.rs:13:10
|
--> $DIR/hash-stable-is-unstable.rs:12:10
|
||||||
|
|
|
|
||||||
LL | #[derive(HashStable)]
|
LL | #[derive(HashStable)]
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
// ignore-stage1
|
|
||||||
// edition:2018
|
// edition:2018
|
||||||
// compile-flags:--extern rustc_middle
|
// compile-flags:--extern rustc_middle
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead?
|
||||||
--> $DIR/pathless-extern-unstable.rs:7:9
|
--> $DIR/pathless-extern-unstable.rs:6:9
|
||||||
|
|
|
|
||||||
LL | pub use rustc_middle;
|
LL | pub use rustc_middle;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// aux-build:rlib-crate-test.rs
|
// aux-build:rlib-crate-test.rs
|
||||||
|
// ignore-stage1
|
||||||
// ignore-cross-compile gives a different error message
|
// ignore-cross-compile gives a different error message
|
||||||
|
|
||||||
#![feature(plugin)]
|
#![feature(plugin)]
|
|
@ -1,5 +1,5 @@
|
||||||
error[E0457]: plugin `rlib_crate_test` only found in rlib format, but must be available in dylib format
|
error[E0457]: plugin `rlib_crate_test` only found in rlib format, but must be available in dylib format
|
||||||
--> $DIR/macro-crate-rlib.rs:5:11
|
--> $DIR/macro-crate-rlib.rs:6:11
|
||||||
|
|
|
|
||||||
LL | #![plugin(rlib_crate_test)]
|
LL | #![plugin(rlib_crate_test)]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
|
@ -6,6 +6,7 @@
|
||||||
// The proc_macro2 crate handles spans differently when on beta/stable release rather than nightly,
|
// The proc_macro2 crate handles spans differently when on beta/stable release rather than nightly,
|
||||||
// changing the output of this test. Since Diagnostic is strictly internal to the compiler
|
// changing the output of this test. Since Diagnostic is strictly internal to the compiler
|
||||||
// the test is just ignored on stable and beta:
|
// the test is just ignored on stable and beta:
|
||||||
|
// ignore-stage1
|
||||||
// ignore-beta
|
// ignore-beta
|
||||||
// ignore-stable
|
// ignore-stable
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
error: unsupported type attribute for diagnostic derive enum
|
error: unsupported type attribute for diagnostic derive enum
|
||||||
--> $DIR/diagnostic-derive.rs:41:1
|
--> $DIR/diagnostic-derive.rs:42:1
|
||||||
|
|
|
|
||||||
LL | #[diag(no_crate_example, code = "E0123")]
|
LL | #[diag(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:44:5
|
--> $DIR/diagnostic-derive.rs:45:5
|
||||||
|
|
|
|
||||||
LL | Foo,
|
LL | Foo,
|
||||||
| ^^^
|
| ^^^
|
||||||
|
@ -13,7 +13,7 @@ LL | Foo,
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:46:5
|
--> $DIR/diagnostic-derive.rs:47:5
|
||||||
|
|
|
|
||||||
LL | Bar,
|
LL | Bar,
|
||||||
| ^^^
|
| ^^^
|
||||||
|
@ -21,19 +21,19 @@ LL | Bar,
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: expected parentheses: #[diag(...)]
|
error: expected parentheses: #[diag(...)]
|
||||||
--> $DIR/diagnostic-derive.rs:52:8
|
--> $DIR/diagnostic-derive.rs:53:8
|
||||||
|
|
|
|
||||||
LL | #[diag = "E0123"]
|
LL | #[diag = "E0123"]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: `#[nonsense(...)]` is not a valid attribute
|
error: `#[nonsense(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:57:1
|
--> $DIR/diagnostic-derive.rs:58:1
|
||||||
|
|
|
|
||||||
LL | #[nonsense(no_crate_example, code = "E0123")]
|
LL | #[nonsense(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:57:1
|
--> $DIR/diagnostic-derive.rs:58:1
|
||||||
|
|
|
|
||||||
LL | / #[nonsense(no_crate_example, code = "E0123")]
|
LL | / #[nonsense(no_crate_example, code = "E0123")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -45,7 +45,7 @@ LL | | struct InvalidStructAttr {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:64:1
|
--> $DIR/diagnostic-derive.rs:65:1
|
||||||
|
|
|
|
||||||
LL | / #[diag("E0123")]
|
LL | / #[diag("E0123")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -55,13 +55,13 @@ LL | | struct InvalidLitNestedAttr {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: diagnostic slug must be the first argument
|
error: diagnostic slug must be the first argument
|
||||||
--> $DIR/diagnostic-derive.rs:74:16
|
--> $DIR/diagnostic-derive.rs:75:16
|
||||||
|
|
|
|
||||||
LL | #[diag(nonsense("foo"), code = "E0123", slug = "foo")]
|
LL | #[diag(nonsense("foo"), code = "E0123", slug = "foo")]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:74:1
|
--> $DIR/diagnostic-derive.rs:75:1
|
||||||
|
|
|
|
||||||
LL | / #[diag(nonsense("foo"), code = "E0123", slug = "foo")]
|
LL | / #[diag(nonsense("foo"), code = "E0123", slug = "foo")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -72,7 +72,7 @@ LL | | struct InvalidNestedStructAttr1 {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: unknown argument
|
error: unknown argument
|
||||||
--> $DIR/diagnostic-derive.rs:80:8
|
--> $DIR/diagnostic-derive.rs:81:8
|
||||||
|
|
|
|
||||||
LL | #[diag(nonsense = "...", code = "E0123", slug = "foo")]
|
LL | #[diag(nonsense = "...", code = "E0123", slug = "foo")]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
@ -80,7 +80,7 @@ LL | #[diag(nonsense = "...", code = "E0123", slug = "foo")]
|
||||||
= note: only the `code` parameter is valid after the slug
|
= note: only the `code` parameter is valid after the slug
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:80:1
|
--> $DIR/diagnostic-derive.rs:81:1
|
||||||
|
|
|
|
||||||
LL | / #[diag(nonsense = "...", code = "E0123", slug = "foo")]
|
LL | / #[diag(nonsense = "...", code = "E0123", slug = "foo")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -91,7 +91,7 @@ LL | | struct InvalidNestedStructAttr2 {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: unknown argument
|
error: unknown argument
|
||||||
--> $DIR/diagnostic-derive.rs:86:8
|
--> $DIR/diagnostic-derive.rs:87:8
|
||||||
|
|
|
|
||||||
LL | #[diag(nonsense = 4, code = "E0123", slug = "foo")]
|
LL | #[diag(nonsense = 4, code = "E0123", slug = "foo")]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
@ -99,7 +99,7 @@ LL | #[diag(nonsense = 4, code = "E0123", slug = "foo")]
|
||||||
= note: only the `code` parameter is valid after the slug
|
= note: only the `code` parameter is valid after the slug
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:86:1
|
--> $DIR/diagnostic-derive.rs:87:1
|
||||||
|
|
|
|
||||||
LL | / #[diag(nonsense = 4, code = "E0123", slug = "foo")]
|
LL | / #[diag(nonsense = 4, code = "E0123", slug = "foo")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -110,7 +110,7 @@ LL | | struct InvalidNestedStructAttr3 {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: unknown argument
|
error: unknown argument
|
||||||
--> $DIR/diagnostic-derive.rs:92:42
|
--> $DIR/diagnostic-derive.rs:93:42
|
||||||
|
|
|
|
||||||
LL | #[diag(no_crate_example, code = "E0123", slug = "foo")]
|
LL | #[diag(no_crate_example, code = "E0123", slug = "foo")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
@ -118,55 +118,55 @@ LL | #[diag(no_crate_example, code = "E0123", slug = "foo")]
|
||||||
= note: only the `code` parameter is valid after the slug
|
= note: only the `code` parameter is valid after the slug
|
||||||
|
|
||||||
error: `#[suggestion = ...]` is not a valid attribute
|
error: `#[suggestion = ...]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:99:5
|
--> $DIR/diagnostic-derive.rs:100:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion = "bar"]
|
LL | #[suggestion = "bar"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
|
--> $DIR/diagnostic-derive.rs:107:8
|
||||||
|
|
|
||||||
|
LL | #[diag(no_crate_example, code = "E0456")]
|
||||||
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
note: previously specified here
|
||||||
--> $DIR/diagnostic-derive.rs:106:8
|
--> $DIR/diagnostic-derive.rs:106:8
|
||||||
|
|
|
|
||||||
LL | #[diag(no_crate_example, code = "E0456")]
|
|
||||||
| ^^^^^^^^^^^^^^^^
|
|
||||||
|
|
|
||||||
note: previously specified here
|
|
||||||
--> $DIR/diagnostic-derive.rs:105:8
|
|
||||||
|
|
|
||||||
LL | #[diag(no_crate_example, code = "E0123")]
|
LL | #[diag(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
|
--> $DIR/diagnostic-derive.rs:107:26
|
||||||
|
|
|
||||||
|
LL | #[diag(no_crate_example, code = "E0456")]
|
||||||
|
| ^^^^
|
||||||
|
|
|
||||||
|
note: previously specified here
|
||||||
--> $DIR/diagnostic-derive.rs:106:26
|
--> $DIR/diagnostic-derive.rs:106:26
|
||||||
|
|
|
|
||||||
LL | #[diag(no_crate_example, code = "E0456")]
|
|
||||||
| ^^^^
|
|
||||||
|
|
|
||||||
note: previously specified here
|
|
||||||
--> $DIR/diagnostic-derive.rs:105:26
|
|
||||||
|
|
|
||||||
LL | #[diag(no_crate_example, code = "E0123")]
|
LL | #[diag(no_crate_example, code = "E0123")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/diagnostic-derive.rs:112:42
|
--> $DIR/diagnostic-derive.rs:113:42
|
||||||
|
|
|
|
||||||
LL | #[diag(no_crate_example, code = "E0456", code = "E0457")]
|
LL | #[diag(no_crate_example, code = "E0456", code = "E0457")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/diagnostic-derive.rs:112:26
|
--> $DIR/diagnostic-derive.rs:113:26
|
||||||
|
|
|
|
||||||
LL | #[diag(no_crate_example, code = "E0456", code = "E0457")]
|
LL | #[diag(no_crate_example, code = "E0456", code = "E0457")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: diagnostic slug must be the first argument
|
error: diagnostic slug must be the first argument
|
||||||
--> $DIR/diagnostic-derive.rs:117:43
|
--> $DIR/diagnostic-derive.rs:118:43
|
||||||
|
|
|
|
||||||
LL | #[diag(no_crate_example, no_crate::example, code = "E0456")]
|
LL | #[diag(no_crate_example, no_crate::example, code = "E0456")]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:122:1
|
--> $DIR/diagnostic-derive.rs:123:1
|
||||||
|
|
|
|
||||||
LL | struct KindNotProvided {}
|
LL | struct KindNotProvided {}
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -174,7 +174,7 @@ LL | struct KindNotProvided {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:125:1
|
--> $DIR/diagnostic-derive.rs:126:1
|
||||||
|
|
|
|
||||||
LL | / #[diag(code = "E0456")]
|
LL | / #[diag(code = "E0456")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -184,31 +184,31 @@ LL | | struct SlugNotProvided {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: the `#[primary_span]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
error: the `#[primary_span]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
||||||
--> $DIR/diagnostic-derive.rs:136:5
|
--> $DIR/diagnostic-derive.rs:137:5
|
||||||
|
|
|
|
||||||
LL | #[primary_span]
|
LL | #[primary_span]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[nonsense]` is not a valid attribute
|
error: `#[nonsense]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:144:5
|
--> $DIR/diagnostic-derive.rs:145:5
|
||||||
|
|
|
|
||||||
LL | #[nonsense]
|
LL | #[nonsense]
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
error: the `#[label(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
error: the `#[label(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
||||||
--> $DIR/diagnostic-derive.rs:161:5
|
--> $DIR/diagnostic-derive.rs:162:5
|
||||||
|
|
|
|
||||||
LL | #[label(no_crate_label)]
|
LL | #[label(no_crate_label)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `name` doesn't refer to a field on this type
|
error: `name` doesn't refer to a field on this type
|
||||||
--> $DIR/diagnostic-derive.rs:169:46
|
--> $DIR/diagnostic-derive.rs:170:46
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_suggestion, code = "{name}")]
|
LL | #[suggestion(no_crate_suggestion, code = "{name}")]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
error: invalid format string: expected `'}'` but string was terminated
|
error: invalid format string: expected `'}'` but string was terminated
|
||||||
--> $DIR/diagnostic-derive.rs:174:10
|
--> $DIR/diagnostic-derive.rs:175:10
|
||||||
|
|
|
|
||||||
LL | #[derive(Diagnostic)]
|
LL | #[derive(Diagnostic)]
|
||||||
| ^^^^^^^^^^ expected `'}'` in format string
|
| ^^^^^^^^^^ expected `'}'` in format string
|
||||||
|
@ -217,7 +217,7 @@ LL | #[derive(Diagnostic)]
|
||||||
= note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
error: invalid format string: unmatched `}` found
|
error: invalid format string: unmatched `}` found
|
||||||
--> $DIR/diagnostic-derive.rs:184:10
|
--> $DIR/diagnostic-derive.rs:185:10
|
||||||
|
|
|
|
||||||
LL | #[derive(Diagnostic)]
|
LL | #[derive(Diagnostic)]
|
||||||
| ^^^^^^^^^^ unmatched `}` in format string
|
| ^^^^^^^^^^ unmatched `}` in format string
|
||||||
|
@ -226,19 +226,19 @@ LL | #[derive(Diagnostic)]
|
||||||
= note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
error: the `#[label(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
error: the `#[label(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
||||||
--> $DIR/diagnostic-derive.rs:204:5
|
--> $DIR/diagnostic-derive.rs:205:5
|
||||||
|
|
|
|
||||||
LL | #[label(no_crate_label)]
|
LL | #[label(no_crate_label)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: suggestion without `code = "..."`
|
error: suggestion without `code = "..."`
|
||||||
--> $DIR/diagnostic-derive.rs:223:5
|
--> $DIR/diagnostic-derive.rs:224:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_suggestion)]
|
LL | #[suggestion(no_crate_suggestion)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/diagnostic-derive.rs:231:18
|
--> $DIR/diagnostic-derive.rs:232:18
|
||||||
|
|
|
|
||||||
LL | #[suggestion(nonsense = "bar")]
|
LL | #[suggestion(nonsense = "bar")]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
@ -246,13 +246,13 @@ LL | #[suggestion(nonsense = "bar")]
|
||||||
= help: only `style`, `code` and `applicability` are valid nested attributes
|
= help: only `style`, `code` and `applicability` are valid nested attributes
|
||||||
|
|
||||||
error: suggestion without `code = "..."`
|
error: suggestion without `code = "..."`
|
||||||
--> $DIR/diagnostic-derive.rs:231:5
|
--> $DIR/diagnostic-derive.rs:232:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion(nonsense = "bar")]
|
LL | #[suggestion(nonsense = "bar")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/diagnostic-derive.rs:240:18
|
--> $DIR/diagnostic-derive.rs:241:18
|
||||||
|
|
|
|
||||||
LL | #[suggestion(msg = "bar")]
|
LL | #[suggestion(msg = "bar")]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
@ -260,13 +260,13 @@ LL | #[suggestion(msg = "bar")]
|
||||||
= help: only `style`, `code` and `applicability` are valid nested attributes
|
= help: only `style`, `code` and `applicability` are valid nested attributes
|
||||||
|
|
||||||
error: suggestion without `code = "..."`
|
error: suggestion without `code = "..."`
|
||||||
--> $DIR/diagnostic-derive.rs:240:5
|
--> $DIR/diagnostic-derive.rs:241:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion(msg = "bar")]
|
LL | #[suggestion(msg = "bar")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: wrong field type for suggestion
|
error: wrong field type for suggestion
|
||||||
--> $DIR/diagnostic-derive.rs:263:5
|
--> $DIR/diagnostic-derive.rs:264:5
|
||||||
|
|
|
|
||||||
LL | / #[suggestion(no_crate_suggestion, code = "This is suggested code")]
|
LL | / #[suggestion(no_crate_suggestion, code = "This is suggested code")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -276,79 +276,79 @@ LL | | suggestion: Applicability,
|
||||||
= help: `#[suggestion(...)]` should be applied to fields of type `Span` or `(Span, Applicability)`
|
= help: `#[suggestion(...)]` should be applied to fields of type `Span` or `(Span, Applicability)`
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/diagnostic-derive.rs:279:24
|
--> $DIR/diagnostic-derive.rs:280:24
|
||||||
|
|
|
|
||||||
LL | suggestion: (Span, Span, Applicability),
|
LL | suggestion: (Span, Span, Applicability),
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/diagnostic-derive.rs:279:18
|
--> $DIR/diagnostic-derive.rs:280:18
|
||||||
|
|
|
|
||||||
LL | suggestion: (Span, Span, Applicability),
|
LL | suggestion: (Span, Span, Applicability),
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/diagnostic-derive.rs:287:33
|
--> $DIR/diagnostic-derive.rs:288:33
|
||||||
|
|
|
|
||||||
LL | suggestion: (Applicability, Applicability, Span),
|
LL | suggestion: (Applicability, Applicability, Span),
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/diagnostic-derive.rs:287:18
|
--> $DIR/diagnostic-derive.rs:288:18
|
||||||
|
|
|
|
||||||
LL | suggestion: (Applicability, Applicability, Span),
|
LL | suggestion: (Applicability, Applicability, Span),
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[label = ...]` is not a valid attribute
|
error: `#[label = ...]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:294:5
|
--> $DIR/diagnostic-derive.rs:295:5
|
||||||
|
|
|
|
||||||
LL | #[label = "bar"]
|
LL | #[label = "bar"]
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/diagnostic-derive.rs:445:5
|
--> $DIR/diagnostic-derive.rs:446:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_suggestion, code = "...", applicability = "maybe-incorrect")]
|
LL | #[suggestion(no_crate_suggestion, code = "...", applicability = "maybe-incorrect")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/diagnostic-derive.rs:447:24
|
--> $DIR/diagnostic-derive.rs:448:24
|
||||||
|
|
|
|
||||||
LL | suggestion: (Span, Applicability),
|
LL | suggestion: (Span, Applicability),
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: invalid applicability
|
error: invalid applicability
|
||||||
--> $DIR/diagnostic-derive.rs:453:69
|
--> $DIR/diagnostic-derive.rs:454:69
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_suggestion, code = "...", applicability = "batman")]
|
LL | #[suggestion(no_crate_suggestion, code = "...", applicability = "batman")]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
error: the `#[help(...)]` attribute can only be applied to fields of type `Span`, `MultiSpan`, `bool` or `()`
|
error: the `#[help(...)]` attribute can only be applied to fields of type `Span`, `MultiSpan`, `bool` or `()`
|
||||||
--> $DIR/diagnostic-derive.rs:520:5
|
--> $DIR/diagnostic-derive.rs:521:5
|
||||||
|
|
|
|
||||||
LL | #[help(no_crate_help)]
|
LL | #[help(no_crate_help)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: a diagnostic slug must be the first argument to the attribute
|
error: a diagnostic slug must be the first argument to the attribute
|
||||||
--> $DIR/diagnostic-derive.rs:529:32
|
--> $DIR/diagnostic-derive.rs:530:32
|
||||||
|
|
|
|
||||||
LL | #[label(no_crate_label, foo)]
|
LL | #[label(no_crate_label, foo)]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/diagnostic-derive.rs:537:29
|
--> $DIR/diagnostic-derive.rs:538:29
|
||||||
|
|
|
|
||||||
LL | #[label(no_crate_label, foo = "...")]
|
LL | #[label(no_crate_label, foo = "...")]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/diagnostic-derive.rs:545:29
|
--> $DIR/diagnostic-derive.rs:546:29
|
||||||
|
|
|
|
||||||
LL | #[label(no_crate_label, foo("..."))]
|
LL | #[label(no_crate_label, foo("..."))]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: `#[primary_span]` is not a valid attribute
|
error: `#[primary_span]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:557:5
|
--> $DIR/diagnostic-derive.rs:558:5
|
||||||
|
|
|
|
||||||
LL | #[primary_span]
|
LL | #[primary_span]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
@ -356,13 +356,13 @@ LL | #[primary_span]
|
||||||
= help: the `primary_span` field attribute is not valid for lint diagnostics
|
= help: the `primary_span` field attribute is not valid for lint diagnostics
|
||||||
|
|
||||||
error: `#[error(...)]` is not a valid attribute
|
error: `#[error(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:577:1
|
--> $DIR/diagnostic-derive.rs:578:1
|
||||||
|
|
|
|
||||||
LL | #[error(no_crate_example, code = "E0123")]
|
LL | #[error(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:577:1
|
--> $DIR/diagnostic-derive.rs:578:1
|
||||||
|
|
|
|
||||||
LL | / #[error(no_crate_example, code = "E0123")]
|
LL | / #[error(no_crate_example, code = "E0123")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -374,13 +374,13 @@ LL | | struct ErrorAttribute {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: `#[warn_(...)]` is not a valid attribute
|
error: `#[warn_(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:584:1
|
--> $DIR/diagnostic-derive.rs:585:1
|
||||||
|
|
|
|
||||||
LL | #[warn_(no_crate_example, code = "E0123")]
|
LL | #[warn_(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:584:1
|
--> $DIR/diagnostic-derive.rs:585:1
|
||||||
|
|
|
|
||||||
LL | / #[warn_(no_crate_example, code = "E0123")]
|
LL | / #[warn_(no_crate_example, code = "E0123")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -392,13 +392,13 @@ LL | | struct WarnAttribute {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: `#[lint(...)]` is not a valid attribute
|
error: `#[lint(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:591:1
|
--> $DIR/diagnostic-derive.rs:592:1
|
||||||
|
|
|
|
||||||
LL | #[lint(no_crate_example, code = "E0123")]
|
LL | #[lint(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:591:1
|
--> $DIR/diagnostic-derive.rs:592:1
|
||||||
|
|
|
|
||||||
LL | / #[lint(no_crate_example, code = "E0123")]
|
LL | / #[lint(no_crate_example, code = "E0123")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -410,19 +410,19 @@ LL | | struct LintAttributeOnSessionDiag {}
|
||||||
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
= help: specify the slug as the first argument to the `#[diag(...)]` attribute, such as `#[diag(hir_analysis_example_error)]`
|
||||||
|
|
||||||
error: `#[lint(...)]` is not a valid attribute
|
error: `#[lint(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:598:1
|
--> $DIR/diagnostic-derive.rs:599:1
|
||||||
|
|
|
|
||||||
LL | #[lint(no_crate_example, code = "E0123")]
|
LL | #[lint(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[lint(...)]` is not a valid attribute
|
error: `#[lint(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:598:1
|
--> $DIR/diagnostic-derive.rs:599:1
|
||||||
|
|
|
|
||||||
LL | #[lint(no_crate_example, code = "E0123")]
|
LL | #[lint(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: diagnostic slug not specified
|
error: diagnostic slug not specified
|
||||||
--> $DIR/diagnostic-derive.rs:598:1
|
--> $DIR/diagnostic-derive.rs:599:1
|
||||||
|
|
|
|
||||||
LL | / #[lint(no_crate_example, code = "E0123")]
|
LL | / #[lint(no_crate_example, code = "E0123")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -435,19 +435,19 @@ LL | | struct LintAttributeOnLintDiag {}
|
||||||
= help: specify the slug as the first argument to the attribute, such as `#[diag(compiletest_example)]`
|
= help: specify the slug as the first argument to the attribute, such as `#[diag(compiletest_example)]`
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/diagnostic-derive.rs:608:53
|
--> $DIR/diagnostic-derive.rs:609:53
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_suggestion, code = "...", code = ",,,")]
|
LL | #[suggestion(no_crate_suggestion, code = "...", code = ",,,")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/diagnostic-derive.rs:608:39
|
--> $DIR/diagnostic-derive.rs:609:39
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_suggestion, code = "...", code = ",,,")]
|
LL | #[suggestion(no_crate_suggestion, code = "...", code = ",,,")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: wrong types for suggestion
|
error: wrong types for suggestion
|
||||||
--> $DIR/diagnostic-derive.rs:617:24
|
--> $DIR/diagnostic-derive.rs:618:24
|
||||||
|
|
|
|
||||||
LL | suggestion: (Span, usize),
|
LL | suggestion: (Span, usize),
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
@ -455,7 +455,7 @@ LL | suggestion: (Span, usize),
|
||||||
= help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`
|
= help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`
|
||||||
|
|
||||||
error: wrong types for suggestion
|
error: wrong types for suggestion
|
||||||
--> $DIR/diagnostic-derive.rs:625:17
|
--> $DIR/diagnostic-derive.rs:626:17
|
||||||
|
|
|
|
||||||
LL | suggestion: (Span,),
|
LL | suggestion: (Span,),
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
@ -463,13 +463,13 @@ LL | suggestion: (Span,),
|
||||||
= help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`
|
= help: `#[suggestion(...)]` on a tuple field must be applied to fields of type `(Span, Applicability)`
|
||||||
|
|
||||||
error: suggestion without `code = "..."`
|
error: suggestion without `code = "..."`
|
||||||
--> $DIR/diagnostic-derive.rs:632:5
|
--> $DIR/diagnostic-derive.rs:633:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_suggestion)]
|
LL | #[suggestion(no_crate_suggestion)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[multipart_suggestion(...)]` is not a valid attribute
|
error: `#[multipart_suggestion(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:639:1
|
--> $DIR/diagnostic-derive.rs:640:1
|
||||||
|
|
|
|
||||||
LL | #[multipart_suggestion(no_crate_suggestion)]
|
LL | #[multipart_suggestion(no_crate_suggestion)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -477,7 +477,7 @@ LL | #[multipart_suggestion(no_crate_suggestion)]
|
||||||
= help: consider creating a `Subdiagnostic` instead
|
= help: consider creating a `Subdiagnostic` instead
|
||||||
|
|
||||||
error: `#[multipart_suggestion(...)]` is not a valid attribute
|
error: `#[multipart_suggestion(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:646:5
|
--> $DIR/diagnostic-derive.rs:647:5
|
||||||
|
|
|
|
||||||
LL | #[multipart_suggestion(no_crate_suggestion)]
|
LL | #[multipart_suggestion(no_crate_suggestion)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -485,13 +485,13 @@ LL | #[multipart_suggestion(no_crate_suggestion)]
|
||||||
= help: consider creating a `Subdiagnostic` instead
|
= help: consider creating a `Subdiagnostic` instead
|
||||||
|
|
||||||
error: unexpected end of input, unexpected token in nested attribute, expected ident
|
error: unexpected end of input, unexpected token in nested attribute, expected ident
|
||||||
--> $DIR/diagnostic-derive.rs:642:24
|
--> $DIR/diagnostic-derive.rs:643:24
|
||||||
|
|
|
|
||||||
LL | #[multipart_suggestion()]
|
LL | #[multipart_suggestion()]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: `#[suggestion(...)]` is not a valid attribute
|
error: `#[suggestion(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:654:1
|
--> $DIR/diagnostic-derive.rs:655:1
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_suggestion, code = "...")]
|
LL | #[suggestion(no_crate_suggestion, code = "...")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -499,7 +499,7 @@ LL | #[suggestion(no_crate_suggestion, code = "...")]
|
||||||
= help: `#[label]` and `#[suggestion]` can only be applied to fields
|
= help: `#[label]` and `#[suggestion]` can only be applied to fields
|
||||||
|
|
||||||
error: `#[label]` is not a valid attribute
|
error: `#[label]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:663:1
|
--> $DIR/diagnostic-derive.rs:664:1
|
||||||
|
|
|
|
||||||
LL | #[label]
|
LL | #[label]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
@ -507,31 +507,31 @@ LL | #[label]
|
||||||
= help: `#[label]` and `#[suggestion]` can only be applied to fields
|
= help: `#[label]` and `#[suggestion]` can only be applied to fields
|
||||||
|
|
||||||
error: `eager` is the only supported nested attribute for `subdiagnostic`
|
error: `eager` is the only supported nested attribute for `subdiagnostic`
|
||||||
--> $DIR/diagnostic-derive.rs:697:7
|
--> $DIR/diagnostic-derive.rs:698:7
|
||||||
|
|
|
|
||||||
LL | #[subdiagnostic(bad)]
|
LL | #[subdiagnostic(bad)]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[subdiagnostic = ...]` is not a valid attribute
|
error: `#[subdiagnostic = ...]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:705:5
|
--> $DIR/diagnostic-derive.rs:706:5
|
||||||
|
|
|
|
||||||
LL | #[subdiagnostic = "bad"]
|
LL | #[subdiagnostic = "bad"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `eager` is the only supported nested attribute for `subdiagnostic`
|
error: `eager` is the only supported nested attribute for `subdiagnostic`
|
||||||
--> $DIR/diagnostic-derive.rs:713:7
|
--> $DIR/diagnostic-derive.rs:714:7
|
||||||
|
|
|
|
||||||
LL | #[subdiagnostic(bad, bad)]
|
LL | #[subdiagnostic(bad, bad)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `eager` is the only supported nested attribute for `subdiagnostic`
|
error: `eager` is the only supported nested attribute for `subdiagnostic`
|
||||||
--> $DIR/diagnostic-derive.rs:721:7
|
--> $DIR/diagnostic-derive.rs:722:7
|
||||||
|
|
|
|
||||||
LL | #[subdiagnostic("bad")]
|
LL | #[subdiagnostic("bad")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[subdiagnostic(...)]` is not a valid attribute
|
error: `#[subdiagnostic(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:729:5
|
--> $DIR/diagnostic-derive.rs:730:5
|
||||||
|
|
|
|
||||||
LL | #[subdiagnostic(eager)]
|
LL | #[subdiagnostic(eager)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -539,31 +539,31 @@ LL | #[subdiagnostic(eager)]
|
||||||
= help: eager subdiagnostics are not supported on lints
|
= help: eager subdiagnostics are not supported on lints
|
||||||
|
|
||||||
error: expected at least one string literal for `code(...)`
|
error: expected at least one string literal for `code(...)`
|
||||||
--> $DIR/diagnostic-derive.rs:787:23
|
--> $DIR/diagnostic-derive.rs:788:23
|
||||||
|
|
|
|
||||||
LL | #[suggestion(code())]
|
LL | #[suggestion(code())]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: `code(...)` must contain only string literals
|
error: `code(...)` must contain only string literals
|
||||||
--> $DIR/diagnostic-derive.rs:795:23
|
--> $DIR/diagnostic-derive.rs:796:23
|
||||||
|
|
|
|
||||||
LL | #[suggestion(code(foo))]
|
LL | #[suggestion(code(foo))]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: unexpected token
|
error: unexpected token
|
||||||
--> $DIR/diagnostic-derive.rs:795:23
|
--> $DIR/diagnostic-derive.rs:796:23
|
||||||
|
|
|
|
||||||
LL | #[suggestion(code(foo))]
|
LL | #[suggestion(code(foo))]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: expected string literal
|
error: expected string literal
|
||||||
--> $DIR/diagnostic-derive.rs:804:25
|
--> $DIR/diagnostic-derive.rs:805:25
|
||||||
|
|
|
|
||||||
LL | #[suggestion(code = 3)]
|
LL | #[suggestion(code = 3)]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: `#[suggestion(...)]` is not a valid attribute
|
error: `#[suggestion(...)]` is not a valid attribute
|
||||||
--> $DIR/diagnostic-derive.rs:819:5
|
--> $DIR/diagnostic-derive.rs:820:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_suggestion, code = "")]
|
LL | #[suggestion(no_crate_suggestion, code = "")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -573,67 +573,67 @@ LL | #[suggestion(no_crate_suggestion, code = "")]
|
||||||
= help: to show a variable set of suggestions, use a `Vec` of `Subdiagnostic`s annotated with `#[suggestion(...)]`
|
= help: to show a variable set of suggestions, use a `Vec` of `Subdiagnostic`s annotated with `#[suggestion(...)]`
|
||||||
|
|
||||||
error: cannot find attribute `nonsense` in this scope
|
error: cannot find attribute `nonsense` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:57:3
|
--> $DIR/diagnostic-derive.rs:58:3
|
||||||
|
|
|
|
||||||
LL | #[nonsense(no_crate_example, code = "E0123")]
|
LL | #[nonsense(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
error: cannot find attribute `nonsense` in this scope
|
error: cannot find attribute `nonsense` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:144:7
|
--> $DIR/diagnostic-derive.rs:145:7
|
||||||
|
|
|
|
||||||
LL | #[nonsense]
|
LL | #[nonsense]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
error: cannot find attribute `error` in this scope
|
error: cannot find attribute `error` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:577:3
|
--> $DIR/diagnostic-derive.rs:578:3
|
||||||
|
|
|
|
||||||
LL | #[error(no_crate_example, code = "E0123")]
|
LL | #[error(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: cannot find attribute `warn_` in this scope
|
error: cannot find attribute `warn_` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:584:3
|
--> $DIR/diagnostic-derive.rs:585:3
|
||||||
|
|
|
|
||||||
LL | #[warn_(no_crate_example, code = "E0123")]
|
LL | #[warn_(no_crate_example, code = "E0123")]
|
||||||
| ^^^^^ help: a built-in attribute with a similar name exists: `warn`
|
| ^^^^^ help: a built-in attribute with a similar name exists: `warn`
|
||||||
|
|
||||||
error: cannot find attribute `lint` in this scope
|
error: cannot find attribute `lint` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:591:3
|
--> $DIR/diagnostic-derive.rs:592:3
|
||||||
|
|
|
|
||||||
LL | #[lint(no_crate_example, code = "E0123")]
|
LL | #[lint(no_crate_example, code = "E0123")]
|
||||||
| ^^^^ help: a built-in attribute with a similar name exists: `link`
|
| ^^^^ help: a built-in attribute with a similar name exists: `link`
|
||||||
|
|
||||||
error: cannot find attribute `lint` in this scope
|
error: cannot find attribute `lint` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:598:3
|
--> $DIR/diagnostic-derive.rs:599:3
|
||||||
|
|
|
|
||||||
LL | #[lint(no_crate_example, code = "E0123")]
|
LL | #[lint(no_crate_example, code = "E0123")]
|
||||||
| ^^^^ help: a built-in attribute with a similar name exists: `link`
|
| ^^^^ help: a built-in attribute with a similar name exists: `link`
|
||||||
|
|
||||||
error: cannot find attribute `multipart_suggestion` in this scope
|
error: cannot find attribute `multipart_suggestion` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:639:3
|
--> $DIR/diagnostic-derive.rs:640:3
|
||||||
|
|
|
|
||||||
LL | #[multipart_suggestion(no_crate_suggestion)]
|
LL | #[multipart_suggestion(no_crate_suggestion)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: cannot find attribute `multipart_suggestion` in this scope
|
error: cannot find attribute `multipart_suggestion` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:642:3
|
--> $DIR/diagnostic-derive.rs:643:3
|
||||||
|
|
|
|
||||||
LL | #[multipart_suggestion()]
|
LL | #[multipart_suggestion()]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: cannot find attribute `multipart_suggestion` in this scope
|
error: cannot find attribute `multipart_suggestion` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:646:7
|
--> $DIR/diagnostic-derive.rs:647:7
|
||||||
|
|
|
|
||||||
LL | #[multipart_suggestion(no_crate_suggestion)]
|
LL | #[multipart_suggestion(no_crate_suggestion)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0425]: cannot find value `nonsense` in module `crate::fluent_generated`
|
error[E0425]: cannot find value `nonsense` in module `crate::fluent_generated`
|
||||||
--> $DIR/diagnostic-derive.rs:69:8
|
--> $DIR/diagnostic-derive.rs:70:8
|
||||||
|
|
|
|
||||||
LL | #[diag(nonsense, code = "E0123")]
|
LL | #[diag(nonsense, code = "E0123")]
|
||||||
| ^^^^^^^^ not found in `crate::fluent_generated`
|
| ^^^^^^^^ not found in `crate::fluent_generated`
|
||||||
|
|
||||||
error[E0425]: cannot find value `__code_34` in this scope
|
error[E0425]: cannot find value `__code_34` in this scope
|
||||||
--> $DIR/diagnostic-derive.rs:801:10
|
--> $DIR/diagnostic-derive.rs:802:10
|
||||||
|
|
|
|
||||||
LL | #[derive(Diagnostic)]
|
LL | #[derive(Diagnostic)]
|
||||||
| ^^^^^^^^^^ not found in this scope
|
| ^^^^^^^^^^ not found in this scope
|
||||||
|
@ -641,7 +641,7 @@ LL | #[derive(Diagnostic)]
|
||||||
= note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
error[E0277]: the trait bound `Hello: IntoDiagnosticArg` is not satisfied
|
error[E0277]: the trait bound `Hello: IntoDiagnosticArg` is not satisfied
|
||||||
--> $DIR/diagnostic-derive.rs:338:10
|
--> $DIR/diagnostic-derive.rs:339:10
|
||||||
|
|
|
|
||||||
LL | #[derive(Diagnostic)]
|
LL | #[derive(Diagnostic)]
|
||||||
| ^^^^^^^^^^ the trait `IntoDiagnosticArg` is not implemented for `Hello`
|
| ^^^^^^^^^^ the trait `IntoDiagnosticArg` is not implemented for `Hello`
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
// The proc_macro2 crate handles spans differently when on beta/stable release rather than nightly,
|
// The proc_macro2 crate handles spans differently when on beta/stable release rather than nightly,
|
||||||
// changing the output of this test. Since Subdiagnostic is strictly internal to the compiler
|
// changing the output of this test. Since Subdiagnostic is strictly internal to the compiler
|
||||||
// the test is just ignored on stable and beta:
|
// the test is just ignored on stable and beta:
|
||||||
|
// ignore-stage1
|
||||||
// ignore-beta
|
// ignore-beta
|
||||||
// ignore-stable
|
// ignore-stable
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
error: label without `#[primary_span]` field
|
error: label without `#[primary_span]` field
|
||||||
--> $DIR/subdiagnostic-derive.rs:49:1
|
--> $DIR/subdiagnostic-derive.rs:50:1
|
||||||
|
|
|
|
||||||
LL | / #[label(no_crate_example)]
|
LL | / #[label(no_crate_example)]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -9,133 +9,133 @@ LL | | }
|
||||||
| |_^
|
| |_^
|
||||||
|
|
||||||
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:56:1
|
--> $DIR/subdiagnostic-derive.rs:57:1
|
||||||
|
|
|
|
||||||
LL | #[label]
|
LL | #[label]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
error: `#[foo]` is not a valid attribute
|
error: `#[foo]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:65:1
|
--> $DIR/subdiagnostic-derive.rs:66:1
|
||||||
|
|
|
|
||||||
LL | #[foo]
|
LL | #[foo]
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: `#[label = ...]` is not a valid attribute
|
error: `#[label = ...]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:75:1
|
--> $DIR/subdiagnostic-derive.rs:76:1
|
||||||
|
|
|
|
||||||
LL | #[label = "..."]
|
LL | #[label = "..."]
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:84:9
|
--> $DIR/subdiagnostic-derive.rs:85:9
|
||||||
|
|
|
|
||||||
LL | #[label(bug = "...")]
|
LL | #[label(bug = "...")]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:84:1
|
--> $DIR/subdiagnostic-derive.rs:85:1
|
||||||
|
|
|
|
||||||
LL | #[label(bug = "...")]
|
LL | #[label(bug = "...")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: unexpected literal in nested attribute, expected ident
|
error: unexpected literal in nested attribute, expected ident
|
||||||
--> $DIR/subdiagnostic-derive.rs:94:9
|
--> $DIR/subdiagnostic-derive.rs:95:9
|
||||||
|
|
|
|
||||||
LL | #[label("...")]
|
LL | #[label("...")]
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:103:9
|
--> $DIR/subdiagnostic-derive.rs:104:9
|
||||||
|
|
|
|
||||||
LL | #[label(slug = 4)]
|
LL | #[label(slug = 4)]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:103:1
|
--> $DIR/subdiagnostic-derive.rs:104:1
|
||||||
|
|
|
|
||||||
LL | #[label(slug = 4)]
|
LL | #[label(slug = 4)]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:113:9
|
--> $DIR/subdiagnostic-derive.rs:114:9
|
||||||
|
|
|
|
||||||
LL | #[label(slug("..."))]
|
LL | #[label(slug("..."))]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:113:1
|
--> $DIR/subdiagnostic-derive.rs:114:1
|
||||||
|
|
|
|
||||||
LL | #[label(slug("..."))]
|
LL | #[label(slug("..."))]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: unexpected end of input, unexpected token in nested attribute, expected ident
|
error: unexpected end of input, unexpected token in nested attribute, expected ident
|
||||||
--> $DIR/subdiagnostic-derive.rs:133:9
|
--> $DIR/subdiagnostic-derive.rs:134:9
|
||||||
|
|
|
|
||||||
LL | #[label()]
|
LL | #[label()]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:142:27
|
--> $DIR/subdiagnostic-derive.rs:143:27
|
||||||
|
|
|
|
||||||
LL | #[label(no_crate_example, code = "...")]
|
LL | #[label(no_crate_example, code = "...")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:151:27
|
--> $DIR/subdiagnostic-derive.rs:152:27
|
||||||
|
|
|
|
||||||
LL | #[label(no_crate_example, applicability = "machine-applicable")]
|
LL | #[label(no_crate_example, applicability = "machine-applicable")]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: unsupported type attribute for subdiagnostic enum
|
error: unsupported type attribute for subdiagnostic enum
|
||||||
--> $DIR/subdiagnostic-derive.rs:160:1
|
--> $DIR/subdiagnostic-derive.rs:161:1
|
||||||
|
|
|
|
||||||
LL | #[foo]
|
LL | #[foo]
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: `#[bar]` is not a valid attribute
|
error: `#[bar]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:174:5
|
--> $DIR/subdiagnostic-derive.rs:175:5
|
||||||
|
|
|
|
||||||
LL | #[bar]
|
LL | #[bar]
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
|
||||||
error: `#[bar = ...]` is not a valid attribute
|
error: `#[bar = ...]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:186:5
|
--> $DIR/subdiagnostic-derive.rs:187:5
|
||||||
|
|
|
|
||||||
LL | #[bar = "..."]
|
LL | #[bar = "..."]
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[bar = ...]` is not a valid attribute
|
error: `#[bar = ...]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:198:5
|
--> $DIR/subdiagnostic-derive.rs:199:5
|
||||||
|
|
|
|
||||||
LL | #[bar = 4]
|
LL | #[bar = 4]
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[bar(...)]` is not a valid attribute
|
error: `#[bar(...)]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:210:5
|
--> $DIR/subdiagnostic-derive.rs:211:5
|
||||||
|
|
|
|
||||||
LL | #[bar("...")]
|
LL | #[bar("...")]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:222:13
|
--> $DIR/subdiagnostic-derive.rs:223:13
|
||||||
|
|
|
|
||||||
LL | #[label(code = "...")]
|
LL | #[label(code = "...")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
error: diagnostic slug must be first argument of a `#[label(...)]` attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:222:5
|
--> $DIR/subdiagnostic-derive.rs:223:5
|
||||||
|
|
|
|
||||||
LL | #[label(code = "...")]
|
LL | #[label(code = "...")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: the `#[primary_span]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
error: the `#[primary_span]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
||||||
--> $DIR/subdiagnostic-derive.rs:251:5
|
--> $DIR/subdiagnostic-derive.rs:252:5
|
||||||
|
|
|
|
||||||
LL | #[primary_span]
|
LL | #[primary_span]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: label without `#[primary_span]` field
|
error: label without `#[primary_span]` field
|
||||||
--> $DIR/subdiagnostic-derive.rs:248:1
|
--> $DIR/subdiagnostic-derive.rs:249:1
|
||||||
|
|
|
|
||||||
LL | / #[label(no_crate_example)]
|
LL | / #[label(no_crate_example)]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -147,13 +147,13 @@ LL | | }
|
||||||
| |_^
|
| |_^
|
||||||
|
|
||||||
error: `#[applicability]` is only valid on suggestions
|
error: `#[applicability]` is only valid on suggestions
|
||||||
--> $DIR/subdiagnostic-derive.rs:261:5
|
--> $DIR/subdiagnostic-derive.rs:262:5
|
||||||
|
|
|
|
||||||
LL | #[applicability]
|
LL | #[applicability]
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[bar]` is not a valid attribute
|
error: `#[bar]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:271:5
|
--> $DIR/subdiagnostic-derive.rs:272:5
|
||||||
|
|
|
|
||||||
LL | #[bar]
|
LL | #[bar]
|
||||||
| ^^^^^^
|
| ^^^^^^
|
||||||
|
@ -161,13 +161,13 @@ LL | #[bar]
|
||||||
= help: only `primary_span`, `applicability` and `skip_arg` are valid field attributes
|
= help: only `primary_span`, `applicability` and `skip_arg` are valid field attributes
|
||||||
|
|
||||||
error: `#[bar = ...]` is not a valid attribute
|
error: `#[bar = ...]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:282:5
|
--> $DIR/subdiagnostic-derive.rs:283:5
|
||||||
|
|
|
|
||||||
LL | #[bar = "..."]
|
LL | #[bar = "..."]
|
||||||
| ^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[bar(...)]` is not a valid attribute
|
error: `#[bar(...)]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:293:5
|
--> $DIR/subdiagnostic-derive.rs:294:5
|
||||||
|
|
|
|
||||||
LL | #[bar("...")]
|
LL | #[bar("...")]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
@ -175,7 +175,7 @@ LL | #[bar("...")]
|
||||||
= help: only `primary_span`, `applicability` and `skip_arg` are valid field attributes
|
= help: only `primary_span`, `applicability` and `skip_arg` are valid field attributes
|
||||||
|
|
||||||
error: unexpected unsupported untagged union
|
error: unexpected unsupported untagged union
|
||||||
--> $DIR/subdiagnostic-derive.rs:309:1
|
--> $DIR/subdiagnostic-derive.rs:310:1
|
||||||
|
|
|
|
||||||
LL | / union AC {
|
LL | / union AC {
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -185,73 +185,73 @@ LL | | }
|
||||||
| |_^
|
| |_^
|
||||||
|
|
||||||
error: a diagnostic slug must be the first argument to the attribute
|
error: a diagnostic slug must be the first argument to the attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:324:44
|
--> $DIR/subdiagnostic-derive.rs:325:44
|
||||||
|
|
|
|
||||||
LL | #[label(no_crate_example, no_crate::example)]
|
LL | #[label(no_crate_example, no_crate::example)]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/subdiagnostic-derive.rs:337:5
|
--> $DIR/subdiagnostic-derive.rs:338:5
|
||||||
|
|
|
|
||||||
LL | #[primary_span]
|
LL | #[primary_span]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/subdiagnostic-derive.rs:334:5
|
--> $DIR/subdiagnostic-derive.rs:335:5
|
||||||
|
|
|
|
||||||
LL | #[primary_span]
|
LL | #[primary_span]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: subdiagnostic kind not specified
|
error: subdiagnostic kind not specified
|
||||||
--> $DIR/subdiagnostic-derive.rs:343:8
|
--> $DIR/subdiagnostic-derive.rs:344:8
|
||||||
|
|
|
|
||||||
LL | struct AG {
|
LL | struct AG {
|
||||||
| ^^
|
| ^^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/subdiagnostic-derive.rs:380:46
|
--> $DIR/subdiagnostic-derive.rs:381:46
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "...", code = "...")]
|
LL | #[suggestion(no_crate_example, code = "...", code = "...")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/subdiagnostic-derive.rs:380:32
|
--> $DIR/subdiagnostic-derive.rs:381:32
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "...", code = "...")]
|
LL | #[suggestion(no_crate_example, code = "...", code = "...")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/subdiagnostic-derive.rs:398:5
|
--> $DIR/subdiagnostic-derive.rs:399:5
|
||||||
|
|
|
|
||||||
LL | #[applicability]
|
LL | #[applicability]
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/subdiagnostic-derive.rs:395:5
|
--> $DIR/subdiagnostic-derive.rs:396:5
|
||||||
|
|
|
|
||||||
LL | #[applicability]
|
LL | #[applicability]
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: the `#[applicability]` attribute can only be applied to fields of type `Applicability`
|
error: the `#[applicability]` attribute can only be applied to fields of type `Applicability`
|
||||||
--> $DIR/subdiagnostic-derive.rs:408:5
|
--> $DIR/subdiagnostic-derive.rs:409:5
|
||||||
|
|
|
|
||||||
LL | #[applicability]
|
LL | #[applicability]
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: suggestion without `code = "..."`
|
error: suggestion without `code = "..."`
|
||||||
--> $DIR/subdiagnostic-derive.rs:421:1
|
--> $DIR/subdiagnostic-derive.rs:422:1
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example)]
|
LL | #[suggestion(no_crate_example)]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: invalid applicability
|
error: invalid applicability
|
||||||
--> $DIR/subdiagnostic-derive.rs:431:62
|
--> $DIR/subdiagnostic-derive.rs:432:62
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "...", applicability = "foo")]
|
LL | #[suggestion(no_crate_example, code = "...", applicability = "foo")]
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: suggestion without `#[primary_span]` field
|
error: suggestion without `#[primary_span]` field
|
||||||
--> $DIR/subdiagnostic-derive.rs:449:1
|
--> $DIR/subdiagnostic-derive.rs:450:1
|
||||||
|
|
|
|
||||||
LL | / #[suggestion(no_crate_example, code = "...")]
|
LL | / #[suggestion(no_crate_example, code = "...")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -261,25 +261,25 @@ LL | | }
|
||||||
| |_^
|
| |_^
|
||||||
|
|
||||||
error: unsupported type attribute for subdiagnostic enum
|
error: unsupported type attribute for subdiagnostic enum
|
||||||
--> $DIR/subdiagnostic-derive.rs:463:1
|
--> $DIR/subdiagnostic-derive.rs:464:1
|
||||||
|
|
|
|
||||||
LL | #[label]
|
LL | #[label]
|
||||||
| ^^^^^^^^
|
| ^^^^^^^^
|
||||||
|
|
||||||
error: `var` doesn't refer to a field on this type
|
error: `var` doesn't refer to a field on this type
|
||||||
--> $DIR/subdiagnostic-derive.rs:483:39
|
--> $DIR/subdiagnostic-derive.rs:484:39
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "{var}", applicability = "machine-applicable")]
|
LL | #[suggestion(no_crate_example, code = "{var}", applicability = "machine-applicable")]
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
error: `var` doesn't refer to a field on this type
|
error: `var` doesn't refer to a field on this type
|
||||||
--> $DIR/subdiagnostic-derive.rs:502:43
|
--> $DIR/subdiagnostic-derive.rs:503:43
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "{var}", applicability = "machine-applicable")]
|
LL | #[suggestion(no_crate_example, code = "{var}", applicability = "machine-applicable")]
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
||||||
error: `#[suggestion_part]` is not a valid attribute
|
error: `#[suggestion_part]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:525:5
|
--> $DIR/subdiagnostic-derive.rs:526:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part]
|
LL | #[suggestion_part]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -287,7 +287,7 @@ LL | #[suggestion_part]
|
||||||
= help: `#[suggestion_part(...)]` is only valid in multipart suggestions, use `#[primary_span]` instead
|
= help: `#[suggestion_part(...)]` is only valid in multipart suggestions, use `#[primary_span]` instead
|
||||||
|
|
||||||
error: `#[suggestion_part(...)]` is not a valid attribute
|
error: `#[suggestion_part(...)]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:528:5
|
--> $DIR/subdiagnostic-derive.rs:529:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code = "...")]
|
LL | #[suggestion_part(code = "...")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -295,7 +295,7 @@ LL | #[suggestion_part(code = "...")]
|
||||||
= help: `#[suggestion_part(...)]` is only valid in multipart suggestions
|
= help: `#[suggestion_part(...)]` is only valid in multipart suggestions
|
||||||
|
|
||||||
error: suggestion without `#[primary_span]` field
|
error: suggestion without `#[primary_span]` field
|
||||||
--> $DIR/subdiagnostic-derive.rs:522:1
|
--> $DIR/subdiagnostic-derive.rs:523:1
|
||||||
|
|
|
|
||||||
LL | / #[suggestion(no_crate_example, code = "...")]
|
LL | / #[suggestion(no_crate_example, code = "...")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -307,7 +307,7 @@ LL | | }
|
||||||
| |_^
|
| |_^
|
||||||
|
|
||||||
error: invalid nested attribute
|
error: invalid nested attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:537:42
|
--> $DIR/subdiagnostic-derive.rs:538:42
|
||||||
|
|
|
|
||||||
LL | #[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")]
|
LL | #[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
@ -315,7 +315,7 @@ LL | #[multipart_suggestion(no_crate_example, code = "...", applicability = "mac
|
||||||
= help: only `style` and `applicability` are valid nested attributes
|
= help: only `style` and `applicability` are valid nested attributes
|
||||||
|
|
||||||
error: multipart suggestion without any `#[suggestion_part(...)]` fields
|
error: multipart suggestion without any `#[suggestion_part(...)]` fields
|
||||||
--> $DIR/subdiagnostic-derive.rs:537:1
|
--> $DIR/subdiagnostic-derive.rs:538:1
|
||||||
|
|
|
|
||||||
LL | / #[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")]
|
LL | / #[multipart_suggestion(no_crate_example, code = "...", applicability = "machine-applicable")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -326,19 +326,19 @@ LL | | }
|
||||||
| |_^
|
| |_^
|
||||||
|
|
||||||
error: `#[suggestion_part(...)]` attribute without `code = "..."`
|
error: `#[suggestion_part(...)]` attribute without `code = "..."`
|
||||||
--> $DIR/subdiagnostic-derive.rs:547:5
|
--> $DIR/subdiagnostic-derive.rs:548:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part]
|
LL | #[suggestion_part]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: unexpected end of input, unexpected token in nested attribute, expected ident
|
error: unexpected end of input, unexpected token in nested attribute, expected ident
|
||||||
--> $DIR/subdiagnostic-derive.rs:555:23
|
--> $DIR/subdiagnostic-derive.rs:556:23
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part()]
|
LL | #[suggestion_part()]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: `#[primary_span]` is not a valid attribute
|
error: `#[primary_span]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:564:5
|
--> $DIR/subdiagnostic-derive.rs:565:5
|
||||||
|
|
|
|
||||||
LL | #[primary_span]
|
LL | #[primary_span]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
@ -346,7 +346,7 @@ LL | #[primary_span]
|
||||||
= help: multipart suggestions use one or more `#[suggestion_part]`s rather than one `#[primary_span]`
|
= help: multipart suggestions use one or more `#[suggestion_part]`s rather than one `#[primary_span]`
|
||||||
|
|
||||||
error: multipart suggestion without any `#[suggestion_part(...)]` fields
|
error: multipart suggestion without any `#[suggestion_part(...)]` fields
|
||||||
--> $DIR/subdiagnostic-derive.rs:561:1
|
--> $DIR/subdiagnostic-derive.rs:562:1
|
||||||
|
|
|
|
||||||
LL | / #[multipart_suggestion(no_crate_example)]
|
LL | / #[multipart_suggestion(no_crate_example)]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -358,121 +358,121 @@ LL | | }
|
||||||
| |_^
|
| |_^
|
||||||
|
|
||||||
error: `#[suggestion_part(...)]` attribute without `code = "..."`
|
error: `#[suggestion_part(...)]` attribute without `code = "..."`
|
||||||
--> $DIR/subdiagnostic-derive.rs:572:5
|
--> $DIR/subdiagnostic-derive.rs:573:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part]
|
LL | #[suggestion_part]
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `code` is the only valid nested attribute
|
error: `code` is the only valid nested attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:578:23
|
--> $DIR/subdiagnostic-derive.rs:579:23
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(foo = "bar")]
|
LL | #[suggestion_part(foo = "bar")]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: the `#[suggestion_part(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
error: the `#[suggestion_part(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
||||||
--> $DIR/subdiagnostic-derive.rs:582:5
|
--> $DIR/subdiagnostic-derive.rs:583:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code = "...")]
|
LL | #[suggestion_part(code = "...")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: the `#[suggestion_part(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
error: the `#[suggestion_part(...)]` attribute can only be applied to fields of type `Span` or `MultiSpan`
|
||||||
--> $DIR/subdiagnostic-derive.rs:585:5
|
--> $DIR/subdiagnostic-derive.rs:586:5
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part()]
|
LL | #[suggestion_part()]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: unexpected end of input, unexpected token in nested attribute, expected ident
|
error: unexpected end of input, unexpected token in nested attribute, expected ident
|
||||||
--> $DIR/subdiagnostic-derive.rs:575:23
|
--> $DIR/subdiagnostic-derive.rs:576:23
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part()]
|
LL | #[suggestion_part()]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: expected `,`
|
error: expected `,`
|
||||||
--> $DIR/subdiagnostic-derive.rs:578:27
|
--> $DIR/subdiagnostic-derive.rs:579:27
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(foo = "bar")]
|
LL | #[suggestion_part(foo = "bar")]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/subdiagnostic-derive.rs:593:37
|
--> $DIR/subdiagnostic-derive.rs:594:37
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code = "...", code = ",,,")]
|
LL | #[suggestion_part(code = "...", code = ",,,")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/subdiagnostic-derive.rs:593:23
|
--> $DIR/subdiagnostic-derive.rs:594:23
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code = "...", code = ",,,")]
|
LL | #[suggestion_part(code = "...", code = ",,,")]
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
||||||
error: `#[applicability]` has no effect if all `#[suggestion]`/`#[multipart_suggestion]` attributes have a static `applicability = "..."`
|
error: `#[applicability]` has no effect if all `#[suggestion]`/`#[multipart_suggestion]` attributes have a static `applicability = "..."`
|
||||||
--> $DIR/subdiagnostic-derive.rs:622:5
|
--> $DIR/subdiagnostic-derive.rs:623:5
|
||||||
|
|
|
|
||||||
LL | #[applicability]
|
LL | #[applicability]
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: expected exactly one string literal for `code = ...`
|
error: expected exactly one string literal for `code = ...`
|
||||||
--> $DIR/subdiagnostic-derive.rs:670:34
|
--> $DIR/subdiagnostic-derive.rs:671:34
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code("foo"))]
|
LL | #[suggestion_part(code("foo"))]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: unexpected token
|
error: unexpected token
|
||||||
--> $DIR/subdiagnostic-derive.rs:670:28
|
--> $DIR/subdiagnostic-derive.rs:671:28
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code("foo"))]
|
LL | #[suggestion_part(code("foo"))]
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: expected exactly one string literal for `code = ...`
|
error: expected exactly one string literal for `code = ...`
|
||||||
--> $DIR/subdiagnostic-derive.rs:680:41
|
--> $DIR/subdiagnostic-derive.rs:681:41
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code("foo", "bar"))]
|
LL | #[suggestion_part(code("foo", "bar"))]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: unexpected token
|
error: unexpected token
|
||||||
--> $DIR/subdiagnostic-derive.rs:680:28
|
--> $DIR/subdiagnostic-derive.rs:681:28
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code("foo", "bar"))]
|
LL | #[suggestion_part(code("foo", "bar"))]
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
error: expected exactly one string literal for `code = ...`
|
error: expected exactly one string literal for `code = ...`
|
||||||
--> $DIR/subdiagnostic-derive.rs:690:30
|
--> $DIR/subdiagnostic-derive.rs:691:30
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code(3))]
|
LL | #[suggestion_part(code(3))]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: unexpected token
|
error: unexpected token
|
||||||
--> $DIR/subdiagnostic-derive.rs:690:28
|
--> $DIR/subdiagnostic-derive.rs:691:28
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code(3))]
|
LL | #[suggestion_part(code(3))]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: expected exactly one string literal for `code = ...`
|
error: expected exactly one string literal for `code = ...`
|
||||||
--> $DIR/subdiagnostic-derive.rs:700:29
|
--> $DIR/subdiagnostic-derive.rs:701:29
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code())]
|
LL | #[suggestion_part(code())]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: expected string literal
|
error: expected string literal
|
||||||
--> $DIR/subdiagnostic-derive.rs:712:30
|
--> $DIR/subdiagnostic-derive.rs:713:30
|
||||||
|
|
|
|
||||||
LL | #[suggestion_part(code = 3)]
|
LL | #[suggestion_part(code = 3)]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: specified multiple times
|
error: specified multiple times
|
||||||
--> $DIR/subdiagnostic-derive.rs:754:1
|
--> $DIR/subdiagnostic-derive.rs:755:1
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "", style = "hidden", style = "normal")]
|
LL | #[suggestion(no_crate_example, code = "", style = "hidden", style = "normal")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
|
||||||
note: previously specified here
|
note: previously specified here
|
||||||
--> $DIR/subdiagnostic-derive.rs:754:1
|
--> $DIR/subdiagnostic-derive.rs:755:1
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "", style = "hidden", style = "normal")]
|
LL | #[suggestion(no_crate_example, code = "", style = "hidden", style = "normal")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: `#[suggestion_hidden(...)]` is not a valid attribute
|
error: `#[suggestion_hidden(...)]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:763:1
|
--> $DIR/subdiagnostic-derive.rs:764:1
|
||||||
|
|
|
|
||||||
LL | #[suggestion_hidden(no_crate_example, code = "")]
|
LL | #[suggestion_hidden(no_crate_example, code = "")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -480,7 +480,7 @@ LL | #[suggestion_hidden(no_crate_example, code = "")]
|
||||||
= help: Use `#[suggestion(..., style = "hidden")]` instead
|
= help: Use `#[suggestion(..., style = "hidden")]` instead
|
||||||
|
|
||||||
error: `#[suggestion_hidden(...)]` is not a valid attribute
|
error: `#[suggestion_hidden(...)]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:771:1
|
--> $DIR/subdiagnostic-derive.rs:772:1
|
||||||
|
|
|
|
||||||
LL | #[suggestion_hidden(no_crate_example, code = "", style = "normal")]
|
LL | #[suggestion_hidden(no_crate_example, code = "", style = "normal")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -488,7 +488,7 @@ LL | #[suggestion_hidden(no_crate_example, code = "", style = "normal")]
|
||||||
= help: Use `#[suggestion(..., style = "hidden")]` instead
|
= help: Use `#[suggestion(..., style = "hidden")]` instead
|
||||||
|
|
||||||
error: invalid suggestion style
|
error: invalid suggestion style
|
||||||
--> $DIR/subdiagnostic-derive.rs:779:51
|
--> $DIR/subdiagnostic-derive.rs:780:51
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "", style = "foo")]
|
LL | #[suggestion(no_crate_example, code = "", style = "foo")]
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
@ -496,31 +496,31 @@ LL | #[suggestion(no_crate_example, code = "", style = "foo")]
|
||||||
= help: valid styles are `normal`, `short`, `hidden`, `verbose` and `tool-only`
|
= help: valid styles are `normal`, `short`, `hidden`, `verbose` and `tool-only`
|
||||||
|
|
||||||
error: expected `= "xxx"`
|
error: expected `= "xxx"`
|
||||||
--> $DIR/subdiagnostic-derive.rs:787:49
|
--> $DIR/subdiagnostic-derive.rs:788:49
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "", style = 42)]
|
LL | #[suggestion(no_crate_example, code = "", style = 42)]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: a diagnostic slug must be the first argument to the attribute
|
error: a diagnostic slug must be the first argument to the attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:795:48
|
--> $DIR/subdiagnostic-derive.rs:796:48
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "", style)]
|
LL | #[suggestion(no_crate_example, code = "", style)]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: expected `= "xxx"`
|
error: expected `= "xxx"`
|
||||||
--> $DIR/subdiagnostic-derive.rs:803:48
|
--> $DIR/subdiagnostic-derive.rs:804:48
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "", style("foo"))]
|
LL | #[suggestion(no_crate_example, code = "", style("foo"))]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: expected `,`
|
error: expected `,`
|
||||||
--> $DIR/subdiagnostic-derive.rs:803:48
|
--> $DIR/subdiagnostic-derive.rs:804:48
|
||||||
|
|
|
|
||||||
LL | #[suggestion(no_crate_example, code = "", style("foo"))]
|
LL | #[suggestion(no_crate_example, code = "", style("foo"))]
|
||||||
| ^
|
| ^
|
||||||
|
|
||||||
error: `#[primary_span]` is not a valid attribute
|
error: `#[primary_span]` is not a valid attribute
|
||||||
--> $DIR/subdiagnostic-derive.rs:815:5
|
--> $DIR/subdiagnostic-derive.rs:816:5
|
||||||
|
|
|
|
||||||
LL | #[primary_span]
|
LL | #[primary_span]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
@ -529,7 +529,7 @@ LL | #[primary_span]
|
||||||
= help: to create a suggestion with multiple spans, use `#[multipart_suggestion]` instead
|
= help: to create a suggestion with multiple spans, use `#[multipart_suggestion]` instead
|
||||||
|
|
||||||
error: suggestion without `#[primary_span]` field
|
error: suggestion without `#[primary_span]` field
|
||||||
--> $DIR/subdiagnostic-derive.rs:812:1
|
--> $DIR/subdiagnostic-derive.rs:813:1
|
||||||
|
|
|
|
||||||
LL | / #[suggestion(no_crate_example, code = "")]
|
LL | / #[suggestion(no_crate_example, code = "")]
|
||||||
LL | |
|
LL | |
|
||||||
|
@ -541,67 +541,67 @@ LL | | }
|
||||||
| |_^
|
| |_^
|
||||||
|
|
||||||
error: cannot find attribute `foo` in this scope
|
error: cannot find attribute `foo` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:65:3
|
--> $DIR/subdiagnostic-derive.rs:66:3
|
||||||
|
|
|
|
||||||
LL | #[foo]
|
LL | #[foo]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: cannot find attribute `foo` in this scope
|
error: cannot find attribute `foo` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:160:3
|
--> $DIR/subdiagnostic-derive.rs:161:3
|
||||||
|
|
|
|
||||||
LL | #[foo]
|
LL | #[foo]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: cannot find attribute `bar` in this scope
|
error: cannot find attribute `bar` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:174:7
|
--> $DIR/subdiagnostic-derive.rs:175:7
|
||||||
|
|
|
|
||||||
LL | #[bar]
|
LL | #[bar]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: cannot find attribute `bar` in this scope
|
error: cannot find attribute `bar` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:186:7
|
--> $DIR/subdiagnostic-derive.rs:187:7
|
||||||
|
|
|
|
||||||
LL | #[bar = "..."]
|
LL | #[bar = "..."]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: cannot find attribute `bar` in this scope
|
error: cannot find attribute `bar` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:198:7
|
--> $DIR/subdiagnostic-derive.rs:199:7
|
||||||
|
|
|
|
||||||
LL | #[bar = 4]
|
LL | #[bar = 4]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: cannot find attribute `bar` in this scope
|
error: cannot find attribute `bar` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:210:7
|
--> $DIR/subdiagnostic-derive.rs:211:7
|
||||||
|
|
|
|
||||||
LL | #[bar("...")]
|
LL | #[bar("...")]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: cannot find attribute `bar` in this scope
|
error: cannot find attribute `bar` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:271:7
|
--> $DIR/subdiagnostic-derive.rs:272:7
|
||||||
|
|
|
|
||||||
LL | #[bar]
|
LL | #[bar]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: cannot find attribute `bar` in this scope
|
error: cannot find attribute `bar` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:282:7
|
--> $DIR/subdiagnostic-derive.rs:283:7
|
||||||
|
|
|
|
||||||
LL | #[bar = "..."]
|
LL | #[bar = "..."]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error: cannot find attribute `bar` in this scope
|
error: cannot find attribute `bar` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:293:7
|
--> $DIR/subdiagnostic-derive.rs:294:7
|
||||||
|
|
|
|
||||||
LL | #[bar("...")]
|
LL | #[bar("...")]
|
||||||
| ^^^
|
| ^^^
|
||||||
|
|
||||||
error[E0425]: cannot find value `slug` in module `crate::fluent_generated`
|
error[E0425]: cannot find value `slug` in module `crate::fluent_generated`
|
||||||
--> $DIR/subdiagnostic-derive.rs:123:9
|
--> $DIR/subdiagnostic-derive.rs:124:9
|
||||||
|
|
|
|
||||||
LL | #[label(slug)]
|
LL | #[label(slug)]
|
||||||
| ^^^^ not found in `crate::fluent_generated`
|
| ^^^^ not found in `crate::fluent_generated`
|
||||||
|
|
||||||
error[E0425]: cannot find value `__code_29` in this scope
|
error[E0425]: cannot find value `__code_29` in this scope
|
||||||
--> $DIR/subdiagnostic-derive.rs:706:10
|
--> $DIR/subdiagnostic-derive.rs:707:10
|
||||||
|
|
|
|
||||||
LL | #[derive(Subdiagnostic)]
|
LL | #[derive(Subdiagnostic)]
|
||||||
| ^^^^^^^^^^^^^ not found in this scope
|
| ^^^^^^^^^^^^^ not found in this scope
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
// aux-build:lint-group-plugin-test.rs
|
|
||||||
// check-pass
|
// check-pass
|
||||||
// compile-flags: -D unused -A unused-variables
|
// compile-flags: -D unused -A unused-variables
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
// aux-build:lint-group-plugin-test.rs
|
|
||||||
// compile-flags: -F unused -A unused
|
// compile-flags: -F unused -A unused
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
|
@ -1,5 +1,5 @@
|
||||||
error: unused variable: `x`
|
error: unused variable: `x`
|
||||||
--> $DIR/lint-group-forbid-always-trumps-cli.rs:5:9
|
--> $DIR/lint-group-forbid-always-trumps-cli.rs:4:9
|
||||||
|
|
|
|
||||||
LL | let x = 1;
|
LL | let x = 1;
|
||||||
| ^ help: if this is intentional, prefix it with an underscore: `_x`
|
| ^ help: if this is intentional, prefix it with an underscore: `_x`
|
Loading…
Add table
Add a link
Reference in a new issue