mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-30 14:01:51 +00:00
692bc344d5
Go over all structured parser suggestions and make them verbose style. When suggesting to add or remove delimiters, turn them into multiple suggestion parts.
101 lines
3.6 KiB
Plaintext
101 lines
3.6 KiB
Plaintext
error: ambiguous `+` in a type
|
|
--> $DIR/trait-object-delimiters.rs:3:13
|
|
|
|
|
LL | fn foo1(_: &dyn Drop + AsRef<str>) {}
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
help: try adding parentheses
|
|
|
|
|
LL | fn foo1(_: &(dyn Drop + AsRef<str>)) {}
|
|
| + +
|
|
|
|
error: incorrect parentheses around trait bounds
|
|
--> $DIR/trait-object-delimiters.rs:6:17
|
|
|
|
|
LL | fn foo2(_: &dyn (Drop + AsRef<str>)) {}
|
|
| ^ ^
|
|
|
|
|
help: fix the parentheses
|
|
|
|
|
LL - fn foo2(_: &dyn (Drop + AsRef<str>)) {}
|
|
LL + fn foo2(_: &(dyn Drop + AsRef<str>)) {}
|
|
|
|
|
|
|
error: incorrect parentheses around trait bounds
|
|
--> $DIR/trait-object-delimiters.rs:8:25
|
|
|
|
|
LL | fn foo2_no_space(_: &dyn(Drop + AsRef<str>)) {}
|
|
| ^ ^
|
|
|
|
|
help: fix the parentheses
|
|
|
|
|
LL - fn foo2_no_space(_: &dyn(Drop + AsRef<str>)) {}
|
|
LL + fn foo2_no_space(_: &(dyn Drop + AsRef<str>)) {}
|
|
|
|
|
|
|
error: expected parameter name, found `{`
|
|
--> $DIR/trait-object-delimiters.rs:10:17
|
|
|
|
|
LL | fn foo3(_: &dyn {Drop + AsRef<str>}) {}
|
|
| ^ expected parameter name
|
|
|
|
error: expected one of `!`, `(`, `)`, `*`, `,`, `?`, `async`, `const`, `for`, `use`, `~`, lifetime, or path, found `{`
|
|
--> $DIR/trait-object-delimiters.rs:10:17
|
|
|
|
|
LL | fn foo3(_: &dyn {Drop + AsRef<str>}) {}
|
|
| -^ expected one of 13 possible tokens
|
|
| |
|
|
| help: missing `,`
|
|
|
|
error: expected identifier, found `<`
|
|
--> $DIR/trait-object-delimiters.rs:14:17
|
|
|
|
|
LL | fn foo4(_: &dyn <Drop + AsRef<str>>) {}
|
|
| ^ expected identifier
|
|
|
|
error: invalid `dyn` keyword
|
|
--> $DIR/trait-object-delimiters.rs:16:25
|
|
|
|
|
LL | fn foo5(_: &(dyn Drop + dyn AsRef<str>)) {}
|
|
| ^^^
|
|
|
|
|
= help: `dyn` is only needed at the start of a trait `+`-separated list
|
|
help: remove this keyword
|
|
|
|
|
LL - fn foo5(_: &(dyn Drop + dyn AsRef<str>)) {}
|
|
LL + fn foo5(_: &(dyn Drop + AsRef<str>)) {}
|
|
|
|
|
|
|
error[E0225]: only auto traits can be used as additional traits in a trait object
|
|
--> $DIR/trait-object-delimiters.rs:3:24
|
|
|
|
|
LL | fn foo1(_: &dyn Drop + AsRef<str>) {}
|
|
| ---- ^^^^^^^^^^ additional non-auto trait
|
|
| |
|
|
| first non-auto trait
|
|
|
|
|
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Drop + AsRef<str> {}`
|
|
= note: auto-traits like `Send` and `Sync` are traits that have special properties; for more information on them, visit <https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits>
|
|
|
|
error[E0224]: at least one trait is required for an object type
|
|
--> $DIR/trait-object-delimiters.rs:10:13
|
|
|
|
|
LL | fn foo3(_: &dyn {Drop + AsRef<str>}) {}
|
|
| ^^^
|
|
|
|
error[E0225]: only auto traits can be used as additional traits in a trait object
|
|
--> $DIR/trait-object-delimiters.rs:16:29
|
|
|
|
|
LL | fn foo5(_: &(dyn Drop + dyn AsRef<str>)) {}
|
|
| ---- ^^^^^^^^^^ additional non-auto trait
|
|
| |
|
|
| first non-auto trait
|
|
|
|
|
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Drop + AsRef<str> {}`
|
|
= note: auto-traits like `Send` and `Sync` are traits that have special properties; for more information on them, visit <https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits>
|
|
|
|
error: aborting due to 10 previous errors
|
|
|
|
Some errors have detailed explanations: E0224, E0225.
|
|
For more information about an error, try `rustc --explain E0224`.
|