mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-29 20:15:27 +00:00
`concat_idents` has been around unstably for a long time, but there is
now a better (but still unstable) way to join identifiers using
`${concat(...)}` syntax with `macro_metavar_expr_concat`. This resolves
a lot of the problems with `concat_idents` and is on a better track
toward stabilization, so there is no need to keep both versions around.
`concat_idents!` still has a lot of use in the ecosystem so deprecate it
before removing, as discussed in [1].
Link: https://github.com/rust-lang/rust/issues/124225
[1]: https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/Removing.20.60concat_idents.60
266 lines
7.2 KiB
Plaintext
266 lines
7.2 KiB
Plaintext
error: the `#[default]` attribute may only be used on unit enum variants
|
|
--> $DIR/macros-nonfatal-errors.rs:14:5
|
|
|
|
|
LL | #[default]
|
|
| ^^^^^^^^^^
|
|
|
|
|
= help: consider a manual implementation of `Default`
|
|
|
|
error: the `#[default]` attribute may only be used on unit enum variants
|
|
--> $DIR/macros-nonfatal-errors.rs:19:36
|
|
|
|
|
LL | struct DefaultInnerAttrTupleStruct(#[default] ());
|
|
| ^^^^^^^^^^
|
|
|
|
|
= help: consider a manual implementation of `Default`
|
|
|
|
error: the `#[default]` attribute may only be used on unit enum variants
|
|
--> $DIR/macros-nonfatal-errors.rs:23:1
|
|
|
|
|
LL | #[default]
|
|
| ^^^^^^^^^^
|
|
|
|
|
= help: consider a manual implementation of `Default`
|
|
|
|
error: the `#[default]` attribute may only be used on unit enum variants
|
|
--> $DIR/macros-nonfatal-errors.rs:27:1
|
|
|
|
|
LL | #[default]
|
|
| ^^^^^^^^^^
|
|
|
|
|
= help: consider a manual implementation of `Default`
|
|
|
|
error: the `#[default]` attribute may only be used on unit enum variants
|
|
--> $DIR/macros-nonfatal-errors.rs:37:11
|
|
|
|
|
LL | Foo = #[default] 0,
|
|
| ^^^^^^^^^^
|
|
|
|
|
= help: consider a manual implementation of `Default`
|
|
|
|
error: the `#[default]` attribute may only be used on unit enum variants
|
|
--> $DIR/macros-nonfatal-errors.rs:38:14
|
|
|
|
|
LL | Bar([u8; #[default] 1]),
|
|
| ^^^^^^^^^^
|
|
|
|
|
= help: consider a manual implementation of `Default`
|
|
|
|
error[E0665]: `#[derive(Default)]` on enum with no `#[default]`
|
|
--> $DIR/macros-nonfatal-errors.rs:43:10
|
|
|
|
|
LL | #[derive(Default)]
|
|
| ^^^^^^^
|
|
LL | / enum NoDeclaredDefault {
|
|
LL | | Foo,
|
|
LL | | Bar,
|
|
LL | | }
|
|
| |_- this enum needs a unit variant marked with `#[default]`
|
|
|
|
|
help: make this unit variant default by placing `#[default]` on it
|
|
|
|
|
LL | #[default] Foo,
|
|
| ++++++++++
|
|
help: make this unit variant default by placing `#[default]` on it
|
|
|
|
|
LL | #[default] Bar,
|
|
| ++++++++++
|
|
|
|
error[E0665]: `#[derive(Default)]` on enum with no `#[default]`
|
|
--> $DIR/macros-nonfatal-errors.rs:49:10
|
|
|
|
|
LL | #[derive(Default)]
|
|
| ^^^^^^^
|
|
LL | / enum NoDeclaredDefaultWithoutUnitVariant {
|
|
LL | | Foo(i32),
|
|
LL | | Bar(i32),
|
|
LL | | }
|
|
| |_- this enum needs a unit variant marked with `#[default]`
|
|
|
|
error: multiple declared defaults
|
|
--> $DIR/macros-nonfatal-errors.rs:55:10
|
|
|
|
|
LL | #[derive(Default)]
|
|
| ^^^^^^^
|
|
...
|
|
LL | Foo,
|
|
| --- first default
|
|
LL | #[default]
|
|
LL | Bar,
|
|
| --- additional default
|
|
LL | #[default]
|
|
LL | Baz,
|
|
| --- additional default
|
|
|
|
|
= note: only one variant can be default
|
|
|
|
error: `#[default]` attribute does not accept a value
|
|
--> $DIR/macros-nonfatal-errors.rs:67:5
|
|
|
|
|
LL | #[default = 1]
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
|
= help: try using `#[default]`
|
|
|
|
error: multiple `#[default]` attributes
|
|
--> $DIR/macros-nonfatal-errors.rs:75:5
|
|
|
|
|
LL | #[default]
|
|
| ---------- `#[default]` used here
|
|
LL | #[default]
|
|
| ---------- `#[default]` used again here
|
|
LL | Foo,
|
|
| ^^^
|
|
|
|
|
= note: only one `#[default]` attribute is needed
|
|
help: try removing this
|
|
--> $DIR/macros-nonfatal-errors.rs:74:5
|
|
|
|
|
LL | #[default]
|
|
| ^^^^^^^^^^
|
|
|
|
error: multiple `#[default]` attributes
|
|
--> $DIR/macros-nonfatal-errors.rs:85:5
|
|
|
|
|
LL | #[default]
|
|
| ---------- `#[default]` used here
|
|
LL | #[default]
|
|
| ---------- `#[default]` used again here
|
|
...
|
|
LL | Foo,
|
|
| ^^^
|
|
|
|
|
= note: only one `#[default]` attribute is needed
|
|
help: try removing these
|
|
--> $DIR/macros-nonfatal-errors.rs:82:5
|
|
|
|
|
LL | #[default]
|
|
| ^^^^^^^^^^
|
|
LL | #[default]
|
|
| ^^^^^^^^^^
|
|
LL | #[default]
|
|
| ^^^^^^^^^^
|
|
|
|
error: the `#[default]` attribute may only be used on unit enum variants
|
|
--> $DIR/macros-nonfatal-errors.rs:92:5
|
|
|
|
|
LL | Foo {},
|
|
| ^^^
|
|
|
|
|
= help: consider a manual implementation of `Default`
|
|
|
|
error: default variant must be exhaustive
|
|
--> $DIR/macros-nonfatal-errors.rs:100:5
|
|
|
|
|
LL | #[non_exhaustive]
|
|
| ----------------- declared `#[non_exhaustive]` here
|
|
LL | Foo,
|
|
| ^^^
|
|
|
|
|
= help: consider a manual implementation of `Default`
|
|
|
|
error: asm template must be a string literal
|
|
--> $DIR/macros-nonfatal-errors.rs:105:10
|
|
|
|
|
LL | asm!(invalid);
|
|
| ^^^^^^^
|
|
|
|
error: `concat_idents!()` requires ident args
|
|
--> $DIR/macros-nonfatal-errors.rs:108:5
|
|
|
|
|
LL | concat_idents!("not", "idents");
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: argument must be a string literal
|
|
--> $DIR/macros-nonfatal-errors.rs:110:17
|
|
|
|
|
LL | option_env!(invalid);
|
|
| ^^^^^^^
|
|
|
|
error: expected string literal
|
|
--> $DIR/macros-nonfatal-errors.rs:111:10
|
|
|
|
|
LL | env!(invalid);
|
|
| ^^^^^^^
|
|
|
|
error: `env!()` takes 1 or 2 arguments
|
|
--> $DIR/macros-nonfatal-errors.rs:112:5
|
|
|
|
|
LL | env!(foo, abr, baz);
|
|
| ^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: environment variable `RUST_HOPEFULLY_THIS_DOESNT_EXIST` not defined at compile time
|
|
--> $DIR/macros-nonfatal-errors.rs:113:5
|
|
|
|
|
LL | env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST");
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: use `std::env::var("RUST_HOPEFULLY_THIS_DOESNT_EXIST")` to read the variable at run time
|
|
|
|
error: format argument must be a string literal
|
|
--> $DIR/macros-nonfatal-errors.rs:115:13
|
|
|
|
|
LL | format!(invalid);
|
|
| ^^^^^^^
|
|
|
|
|
help: you might be missing a string literal to format with
|
|
|
|
|
LL | format!("{}", invalid);
|
|
| +++++
|
|
|
|
error: argument must be a string literal
|
|
--> $DIR/macros-nonfatal-errors.rs:117:14
|
|
|
|
|
LL | include!(invalid);
|
|
| ^^^^^^^
|
|
|
|
error: argument must be a string literal
|
|
--> $DIR/macros-nonfatal-errors.rs:119:18
|
|
|
|
|
LL | include_str!(invalid);
|
|
| ^^^^^^^
|
|
|
|
error: couldn't read `$DIR/i'd be quite surprised if a file with this name existed`: $FILE_NOT_FOUND_MSG
|
|
--> $DIR/macros-nonfatal-errors.rs:120:5
|
|
|
|
|
LL | include_str!("i'd be quite surprised if a file with this name existed");
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: argument must be a string literal
|
|
--> $DIR/macros-nonfatal-errors.rs:121:20
|
|
|
|
|
LL | include_bytes!(invalid);
|
|
| ^^^^^^^
|
|
|
|
error: couldn't read `$DIR/i'd be quite surprised if a file with this name existed`: $FILE_NOT_FOUND_MSG
|
|
--> $DIR/macros-nonfatal-errors.rs:122:5
|
|
|
|
|
LL | include_bytes!("i'd be quite surprised if a file with this name existed");
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: trace_macros! accepts only `true` or `false`
|
|
--> $DIR/macros-nonfatal-errors.rs:124:5
|
|
|
|
|
LL | trace_macros!(invalid);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error: default variant must be exhaustive
|
|
--> $DIR/macros-nonfatal-errors.rs:134:9
|
|
|
|
|
LL | #[non_exhaustive]
|
|
| ----------------- declared `#[non_exhaustive]` here
|
|
LL | Foo,
|
|
| ^^^
|
|
|
|
|
= help: consider a manual implementation of `Default`
|
|
|
|
error: cannot find macro `llvm_asm` in this scope
|
|
--> $DIR/macros-nonfatal-errors.rs:106:5
|
|
|
|
|
LL | llvm_asm!(invalid);
|
|
| ^^^^^^^^
|
|
|
|
error: aborting due to 29 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0665`.
|