summaryrefslogtreecommitdiffstats
path: root/tests/ui/did_you_mean
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/did_you_mean')
-rw-r--r--tests/ui/did_you_mean/auxiliary/doc-hidden-fields.rs6
-rw-r--r--tests/ui/did_you_mean/bad-assoc-expr.stderr62
-rw-r--r--tests/ui/did_you_mean/bad-assoc-pat.stderr41
-rw-r--r--tests/ui/did_you_mean/bad-assoc-ty.stderr64
-rw-r--r--tests/ui/did_you_mean/compatible-variants.stderr2
-rw-r--r--tests/ui/did_you_mean/dont-suggest-doc-hidden-fields.rs38
-rw-r--r--tests/ui/did_you_mean/dont-suggest-doc-hidden-fields.stderr27
-rw-r--r--tests/ui/did_you_mean/dont-suggest-hygienic-fields.rs47
-rw-r--r--tests/ui/did_you_mean/dont-suggest-hygienic-fields.stderr54
-rw-r--r--tests/ui/did_you_mean/issue-105225-named-args.rs10
-rw-r--r--tests/ui/did_you_mean/issue-105225-named-args.stderr22
-rw-r--r--tests/ui/did_you_mean/issue-105225.fixed21
-rw-r--r--tests/ui/did_you_mean/issue-105225.rs21
-rw-r--r--tests/ui/did_you_mean/issue-105225.stderr72
-rw-r--r--tests/ui/did_you_mean/issue-114112.rs11
-rw-r--r--tests/ui/did_you_mean/issue-114112.stderr13
-rw-r--r--tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-1.stderr2
-rw-r--r--tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr6
-rw-r--r--tests/ui/did_you_mean/issue-34126.stderr5
-rw-r--r--tests/ui/did_you_mean/issue-34337.stderr2
-rw-r--r--tests/ui/did_you_mean/issue-35937.stderr2
-rw-r--r--tests/ui/did_you_mean/issue-36798.stderr9
-rw-r--r--tests/ui/did_you_mean/issue-36798_unknown_field.stderr4
-rw-r--r--tests/ui/did_you_mean/issue-37139.stderr2
-rw-r--r--tests/ui/did_you_mean/issue-38147-1.stderr4
-rw-r--r--tests/ui/did_you_mean/issue-38147-2.stderr4
-rw-r--r--tests/ui/did_you_mean/issue-38147-3.stderr4
-rw-r--r--tests/ui/did_you_mean/issue-38147-4.stderr4
-rw-r--r--tests/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr4
-rw-r--r--tests/ui/did_you_mean/issue-40823.stderr4
-rw-r--r--tests/ui/did_you_mean/issue-42599_available_fields_note.stderr16
-rw-r--r--tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr2
-rw-r--r--tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr16
-rw-r--r--tests/ui/did_you_mean/issue-93210-ignore-doc-hidden.rs24
-rw-r--r--tests/ui/did_you_mean/issue-93210-ignore-doc-hidden.stderr19
-rw-r--r--tests/ui/did_you_mean/println-typo.stderr2
-rw-r--r--tests/ui/did_you_mean/pub-macro-rules.stderr2
-rw-r--r--tests/ui/did_you_mean/recursion_limit.stderr2
-rw-r--r--tests/ui/did_you_mean/recursion_limit_macro.stderr2
-rw-r--r--tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr2
40 files changed, 543 insertions, 111 deletions
diff --git a/tests/ui/did_you_mean/auxiliary/doc-hidden-fields.rs b/tests/ui/did_you_mean/auxiliary/doc-hidden-fields.rs
new file mode 100644
index 000000000..4e2ee9740
--- /dev/null
+++ b/tests/ui/did_you_mean/auxiliary/doc-hidden-fields.rs
@@ -0,0 +1,6 @@
+#[derive(Default)]
+pub struct B {
+ #[doc(hidden)]
+ pub hello: i32,
+ pub bye: i32,
+}
diff --git a/tests/ui/did_you_mean/bad-assoc-expr.stderr b/tests/ui/did_you_mean/bad-assoc-expr.stderr
index c295cac9a..b83078e21 100644
--- a/tests/ui/did_you_mean/bad-assoc-expr.stderr
+++ b/tests/ui/did_you_mean/bad-assoc-expr.stderr
@@ -2,60 +2,104 @@ error: missing angle brackets in associated item path
--> $DIR/bad-assoc-expr.rs:3:5
|
LL | [i32; 4]::clone(&a);
- | ^^^^^^^^^^^^^^^ help: try: `<[i32; 4]>::clone`
+ | ^^^^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | <[i32; 4]>::clone(&a);
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-expr.rs:6:5
|
LL | [i32]::as_ref(&a);
- | ^^^^^^^^^^^^^ help: try: `<[i32]>::as_ref`
+ | ^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | <[i32]>::as_ref(&a);
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-expr.rs:9:5
|
LL | (u8)::clone(&0);
- | ^^^^^^^^^^^ help: try: `<(u8)>::clone`
+ | ^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | <(u8)>::clone(&0);
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-expr.rs:12:5
|
LL | (u8, u8)::clone(&(0, 0));
- | ^^^^^^^^^^^^^^^ help: try: `<(u8, u8)>::clone`
+ | ^^^^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | <(u8, u8)>::clone(&(0, 0));
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-expr.rs:15:6
|
LL | &(u8)::clone(&0);
- | ^^^^^^^^^^^ help: try: `<(u8)>::clone`
+ | ^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | &<(u8)>::clone(&0);
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-expr.rs:18:10
|
LL | 10 + (u8)::clone(&0);
- | ^^^^^^^^^^^ help: try: `<(u8)>::clone`
+ | ^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | 10 + <(u8)>::clone(&0);
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-expr.rs:32:13
|
LL | let _ = ty!()::clone(&0);
- | ^^^^^^^^^^^^ help: try: `<ty!()>::clone`
+ | ^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | let _ = <ty!()>::clone(&0);
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-expr.rs:34:5
|
LL | ty!()::clone(&0);
- | ^^^^^^^^^^^^ help: try: `<ty!()>::clone`
+ | ^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | <ty!()>::clone(&0);
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-expr.rs:23:19
|
LL | ($ty: ty) => ($ty::clone(&0))
- | ^^^^^^^^^^ help: try: `<$ty>::clone`
+ | ^^^
...
LL | expr!(u8);
| --------- in this macro invocation
|
= note: this error originates in the macro `expr` (in Nightly builds, run with -Z macro-backtrace for more info)
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | ($ty: ty) => (<$ty>::clone(&0))
+ | + +
error: aborting due to 9 previous errors
diff --git a/tests/ui/did_you_mean/bad-assoc-pat.stderr b/tests/ui/did_you_mean/bad-assoc-pat.stderr
index 19d173f1b..8bdeb8ffd 100644
--- a/tests/ui/did_you_mean/bad-assoc-pat.stderr
+++ b/tests/ui/did_you_mean/bad-assoc-pat.stderr
@@ -2,42 +2,71 @@ error: missing angle brackets in associated item path
--> $DIR/bad-assoc-pat.rs:3:9
|
LL | [u8]::AssocItem => {}
- | ^^^^^^^^^^^^^^^ help: try: `<[u8]>::AssocItem`
+ | ^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | <[u8]>::AssocItem => {}
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-pat.rs:6:9
|
LL | (u8, u8)::AssocItem => {}
- | ^^^^^^^^^^^^^^^^^^^ help: try: `<(u8, u8)>::AssocItem`
+ | ^^^^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | <(u8, u8)>::AssocItem => {}
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-pat.rs:9:9
|
LL | _::AssocItem => {}
- | ^^^^^^^^^^^^ help: try: `<_>::AssocItem`
+ | ^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | <_>::AssocItem => {}
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-pat.rs:14:10
|
LL | &(u8,)::AssocItem => {}
- | ^^^^^^^^^^^^^^^^ help: try: `<(u8,)>::AssocItem`
+ | ^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | &<(u8,)>::AssocItem => {}
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-pat.rs:32:9
|
LL | ty!()::AssocItem => {}
- | ^^^^^^^^^^^^^^^^ help: try: `<ty!()>::AssocItem`
+ | ^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | <ty!()>::AssocItem => {}
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-pat.rs:21:19
|
LL | ($ty: ty) => ($ty::AssocItem)
- | ^^^^^^^^^^^^^^ help: try: `<$ty>::AssocItem`
+ | ^^^
...
LL | pat!(u8) => {}
| -------- in this macro invocation
|
= note: this error originates in the macro `pat` (in Nightly builds, run with -Z macro-backtrace for more info)
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | ($ty: ty) => (<$ty>::AssocItem)
+ | + +
error[E0599]: no associated item named `AssocItem` found for slice `[u8]` in the current scope
--> $DIR/bad-assoc-pat.rs:3:15
diff --git a/tests/ui/did_you_mean/bad-assoc-ty.stderr b/tests/ui/did_you_mean/bad-assoc-ty.stderr
index 55096e95d..5c0c7a0b9 100644
--- a/tests/ui/did_you_mean/bad-assoc-ty.stderr
+++ b/tests/ui/did_you_mean/bad-assoc-ty.stderr
@@ -2,60 +2,104 @@ error: missing angle brackets in associated item path
--> $DIR/bad-assoc-ty.rs:1:10
|
LL | type A = [u8; 4]::AssocTy;
- | ^^^^^^^^^^^^^^^^ help: try: `<[u8; 4]>::AssocTy`
+ | ^^^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | type A = <[u8; 4]>::AssocTy;
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-ty.rs:5:10
|
LL | type B = [u8]::AssocTy;
- | ^^^^^^^^^^^^^ help: try: `<[u8]>::AssocTy`
+ | ^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | type B = <[u8]>::AssocTy;
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-ty.rs:9:10
|
LL | type C = (u8)::AssocTy;
- | ^^^^^^^^^^^^^ help: try: `<(u8)>::AssocTy`
+ | ^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | type C = <(u8)>::AssocTy;
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-ty.rs:13:10
|
LL | type D = (u8, u8)::AssocTy;
- | ^^^^^^^^^^^^^^^^^ help: try: `<(u8, u8)>::AssocTy`
+ | ^^^^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | type D = <(u8, u8)>::AssocTy;
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-ty.rs:17:10
|
LL | type E = _::AssocTy;
- | ^^^^^^^^^^ help: try: `<_>::AssocTy`
+ | ^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | type E = <_>::AssocTy;
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-ty.rs:21:19
|
LL | type F = &'static (u8)::AssocTy;
- | ^^^^^^^^^^^^^ help: try: `<(u8)>::AssocTy`
+ | ^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | type F = &'static <(u8)>::AssocTy;
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-ty.rs:27:10
|
LL | type G = dyn 'static + (Send)::AssocTy;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `<dyn 'static + (Send)>::AssocTy`
+ | ^^^^^^^^^^^^^^^^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | type G = <dyn 'static + (Send)>::AssocTy;
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-ty.rs:46:10
|
LL | type I = ty!()::AssocTy;
- | ^^^^^^^^^^^^^^ help: try: `<ty!()>::AssocTy`
+ | ^^^^^
+ |
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | type I = <ty!()>::AssocTy;
+ | + +
error: missing angle brackets in associated item path
--> $DIR/bad-assoc-ty.rs:39:19
|
LL | ($ty: ty) => ($ty::AssocTy);
- | ^^^^^^^^^^^^ help: try: `<$ty>::AssocTy`
+ | ^^^
...
LL | type J = ty!(u8);
| ------- in this macro invocation
|
= note: this error originates in the macro `ty` (in Nightly builds, run with -Z macro-backtrace for more info)
+help: types that don't start with an identifier need to be surrounded with angle brackets in qualified paths
+ |
+LL | ($ty: ty) => (<$ty>::AssocTy);
+ | + +
error[E0223]: ambiguous associated type
--> $DIR/bad-assoc-ty.rs:1:10
@@ -147,7 +191,7 @@ error[E0223]: ambiguous associated type
--> $DIR/bad-assoc-ty.rs:33:10
|
LL | type H = Fn(u8) -> (u8)::Output;
- | ^^^^^^^^^^^^^^^^^^^^^^ help: use the fully-qualified path: `<(dyn Fn(u8) -> u8 + 'static) as IntoFuture>::Output`
+ | ^^^^^^^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `<(dyn Fn(u8) -> u8 + 'static) as IntoFuture>::Output`
error[E0223]: ambiguous associated type
--> $DIR/bad-assoc-ty.rs:39:19
diff --git a/tests/ui/did_you_mean/compatible-variants.stderr b/tests/ui/did_you_mean/compatible-variants.stderr
index 7b88d93ea..f2bbd8ced 100644
--- a/tests/ui/did_you_mean/compatible-variants.stderr
+++ b/tests/ui/did_you_mean/compatible-variants.stderr
@@ -61,6 +61,8 @@ LL + Some(())
error[E0308]: `?` operator has incompatible types
--> $DIR/compatible-variants.rs:35:5
|
+LL | fn d() -> Option<()> {
+ | ---------- expected `Option<()>` because of return type
LL | c()?
| ^^^^ expected `Option<()>`, found `()`
|
diff --git a/tests/ui/did_you_mean/dont-suggest-doc-hidden-fields.rs b/tests/ui/did_you_mean/dont-suggest-doc-hidden-fields.rs
new file mode 100644
index 000000000..ffc37b260
--- /dev/null
+++ b/tests/ui/did_you_mean/dont-suggest-doc-hidden-fields.rs
@@ -0,0 +1,38 @@
+// Regression test for issue #93210.
+
+// aux-crate:doc_hidden_fields=doc-hidden-fields.rs
+// edition: 2021
+
+#[derive(Default)]
+pub struct A {
+ #[doc(hidden)]
+ pub hello: i32,
+ pub bye: i32,
+}
+
+#[derive(Default)]
+pub struct C {
+ pub hello: i32,
+ pub bye: i32,
+}
+
+fn main() {
+ // We want to list the field `hello` despite being marked
+ // `doc(hidden)` because it's defined in this crate.
+ A::default().hey;
+ //~^ ERROR no field `hey` on type `A`
+ //~| NOTE unknown field
+ //~| NOTE available fields are: `hello`, `bye`
+
+ // Here we want to hide the field `hello` since it's marked
+ // `doc(hidden)` and comes from an external crate.
+ doc_hidden_fields::B::default().hey;
+ //~^ ERROR no field `hey` on type `B`
+ //~| NOTE unknown field
+ //~| NOTE available field is: `bye`
+
+ C::default().hey;
+ //~^ ERROR no field `hey` on type `C`
+ //~| NOTE unknown field
+ //~| NOTE available fields are: `hello`, `bye`
+}
diff --git a/tests/ui/did_you_mean/dont-suggest-doc-hidden-fields.stderr b/tests/ui/did_you_mean/dont-suggest-doc-hidden-fields.stderr
new file mode 100644
index 000000000..55f6d0fa3
--- /dev/null
+++ b/tests/ui/did_you_mean/dont-suggest-doc-hidden-fields.stderr
@@ -0,0 +1,27 @@
+error[E0609]: no field `hey` on type `A`
+ --> $DIR/dont-suggest-doc-hidden-fields.rs:22:18
+ |
+LL | A::default().hey;
+ | ^^^ unknown field
+ |
+ = note: available fields are: `hello`, `bye`
+
+error[E0609]: no field `hey` on type `B`
+ --> $DIR/dont-suggest-doc-hidden-fields.rs:29:37
+ |
+LL | doc_hidden_fields::B::default().hey;
+ | ^^^ unknown field
+ |
+ = note: available field is: `bye`
+
+error[E0609]: no field `hey` on type `C`
+ --> $DIR/dont-suggest-doc-hidden-fields.rs:34:18
+ |
+LL | C::default().hey;
+ | ^^^ unknown field
+ |
+ = note: available fields are: `hello`, `bye`
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0609`.
diff --git a/tests/ui/did_you_mean/dont-suggest-hygienic-fields.rs b/tests/ui/did_you_mean/dont-suggest-hygienic-fields.rs
new file mode 100644
index 000000000..fb7040b2d
--- /dev/null
+++ b/tests/ui/did_you_mean/dont-suggest-hygienic-fields.rs
@@ -0,0 +1,47 @@
+// Regression test for issue #116334.
+// Don't include hygienic fields from different syntax contexts in
+// the list of available or similarly named fields.
+
+#![feature(decl_macro)]
+
+macro compound($Ty:ident) {
+ #[derive(Default)]
+ struct $Ty {
+ field: u32, // field `field` is hygienic
+ }
+}
+
+macro component($Ty:ident) {
+ struct $Ty(u64); // field `0` is hygienic (but still accessible via the constructor)
+}
+
+compound! { Compound }
+component! { Component }
+
+fn main() {
+ let ty = Compound::default();
+
+ let _ = ty.field; //~ ERROR no field `field` on type `Compound`
+ let _ = ty.fieeld; //~ ERROR no field `fieeld` on type `Compound`
+
+ let Compound { field } = ty;
+ //~^ ERROR struct `Compound` does not have a field named `field`
+ //~| ERROR pattern requires `..` due to inaccessible fields
+ //~| HELP ignore the inaccessible and unused fields
+
+ let ty = Component(90);
+
+ let _ = ty.0; //~ ERROR no field `0` on type `Component`
+}
+
+environment!();
+
+macro environment() {
+ struct Crate { field: () }
+
+ // Here, we do want to suggest `field` even though it's hygienic
+ // precisely because they come from the same syntax context.
+ const CRATE: Crate = Crate { fiel: () };
+ //~^ ERROR struct `Crate` has no field named `fiel`
+ //~| HELP a field with a similar name exists
+}
diff --git a/tests/ui/did_you_mean/dont-suggest-hygienic-fields.stderr b/tests/ui/did_you_mean/dont-suggest-hygienic-fields.stderr
new file mode 100644
index 000000000..473c9a339
--- /dev/null
+++ b/tests/ui/did_you_mean/dont-suggest-hygienic-fields.stderr
@@ -0,0 +1,54 @@
+error[E0560]: struct `Crate` has no field named `fiel`
+ --> $DIR/dont-suggest-hygienic-fields.rs:44:34
+ |
+LL | environment!();
+ | -------------- in this macro invocation
+...
+LL | const CRATE: Crate = Crate { fiel: () };
+ | ^^^^ unknown field
+ |
+ = note: this error originates in the macro `environment` (in Nightly builds, run with -Z macro-backtrace for more info)
+help: a field with a similar name exists
+ |
+LL | const CRATE: Crate = Crate { field: () };
+ | ~~~~~
+
+error[E0609]: no field `field` on type `Compound`
+ --> $DIR/dont-suggest-hygienic-fields.rs:24:16
+ |
+LL | let _ = ty.field;
+ | ^^^^^ unknown field
+
+error[E0609]: no field `fieeld` on type `Compound`
+ --> $DIR/dont-suggest-hygienic-fields.rs:25:16
+ |
+LL | let _ = ty.fieeld;
+ | ^^^^^^ unknown field
+
+error[E0026]: struct `Compound` does not have a field named `field`
+ --> $DIR/dont-suggest-hygienic-fields.rs:27:20
+ |
+LL | let Compound { field } = ty;
+ | ^^^^^ struct `Compound` does not have this field
+
+error: pattern requires `..` due to inaccessible fields
+ --> $DIR/dont-suggest-hygienic-fields.rs:27:9
+ |
+LL | let Compound { field } = ty;
+ | ^^^^^^^^^^^^^^^^^^
+ |
+help: ignore the inaccessible and unused fields
+ |
+LL | let Compound { field, .. } = ty;
+ | ++++
+
+error[E0609]: no field `0` on type `Component`
+ --> $DIR/dont-suggest-hygienic-fields.rs:34:16
+ |
+LL | let _ = ty.0;
+ | ^ unknown field
+
+error: aborting due to 6 previous errors
+
+Some errors have detailed explanations: E0026, E0560, E0609.
+For more information about an error, try `rustc --explain E0026`.
diff --git a/tests/ui/did_you_mean/issue-105225-named-args.rs b/tests/ui/did_you_mean/issue-105225-named-args.rs
new file mode 100644
index 000000000..38e817765
--- /dev/null
+++ b/tests/ui/did_you_mean/issue-105225-named-args.rs
@@ -0,0 +1,10 @@
+fn main() {
+ let x = "x";
+ let y = "y";
+
+ println!("{x}", x, x = y);
+ //~^ ERROR: redundant argument
+
+ println!("{x}", x = y, x = y);
+ //~^ ERROR: duplicate argument named `x`
+}
diff --git a/tests/ui/did_you_mean/issue-105225-named-args.stderr b/tests/ui/did_you_mean/issue-105225-named-args.stderr
new file mode 100644
index 000000000..72204102e
--- /dev/null
+++ b/tests/ui/did_you_mean/issue-105225-named-args.stderr
@@ -0,0 +1,22 @@
+error: redundant argument
+ --> $DIR/issue-105225-named-args.rs:5:21
+ |
+LL | println!("{x}", x, x = y);
+ | ^
+ |
+note: the formatting specifier is referencing the binding already
+ --> $DIR/issue-105225-named-args.rs:5:16
+ |
+LL | println!("{x}", x, x = y);
+ | ^
+
+error: duplicate argument named `x`
+ --> $DIR/issue-105225-named-args.rs:8:28
+ |
+LL | println!("{x}", x = y, x = y);
+ | - ^ duplicate argument
+ | |
+ | previously here
+
+error: aborting due to 2 previous errors
+
diff --git a/tests/ui/did_you_mean/issue-105225.fixed b/tests/ui/did_you_mean/issue-105225.fixed
new file mode 100644
index 000000000..f756be615
--- /dev/null
+++ b/tests/ui/did_you_mean/issue-105225.fixed
@@ -0,0 +1,21 @@
+// run-rustfix
+
+fn main() {
+ let x = "x";
+ let y = "y";
+
+ println!("{x}", );
+ //~^ ERROR: redundant argument
+
+ println!("{x} {}", x, );
+ //~^ ERROR: redundant argument
+
+ println!("{} {x}", x, );
+ //~^ ERROR: redundant argument
+
+ println!("{x} {y}", );
+ //~^ ERROR: redundant arguments
+
+ println!("{} {} {x} {y} {}", x, x, x, );
+ //~^ ERROR: redundant arguments
+}
diff --git a/tests/ui/did_you_mean/issue-105225.rs b/tests/ui/did_you_mean/issue-105225.rs
new file mode 100644
index 000000000..91cdf0eb2
--- /dev/null
+++ b/tests/ui/did_you_mean/issue-105225.rs
@@ -0,0 +1,21 @@
+// run-rustfix
+
+fn main() {
+ let x = "x";
+ let y = "y";
+
+ println!("{x}", x);
+ //~^ ERROR: redundant argument
+
+ println!("{x} {}", x, x);
+ //~^ ERROR: redundant argument
+
+ println!("{} {x}", x, x);
+ //~^ ERROR: redundant argument
+
+ println!("{x} {y}", x, y);
+ //~^ ERROR: redundant arguments
+
+ println!("{} {} {x} {y} {}", x, x, x, y, y);
+ //~^ ERROR: redundant arguments
+}
diff --git a/tests/ui/did_you_mean/issue-105225.stderr b/tests/ui/did_you_mean/issue-105225.stderr
new file mode 100644
index 000000000..5fb46222b
--- /dev/null
+++ b/tests/ui/did_you_mean/issue-105225.stderr
@@ -0,0 +1,72 @@
+error: redundant argument
+ --> $DIR/issue-105225.rs:7:21
+ |
+LL | println!("{x}", x);
+ | ^ help: this can be removed
+ |
+note: the formatting specifier is referencing the binding already
+ --> $DIR/issue-105225.rs:7:16
+ |
+LL | println!("{x}", x);
+ | ^
+
+error: redundant argument
+ --> $DIR/issue-105225.rs:10:27
+ |
+LL | println!("{x} {}", x, x);
+ | ^ help: this can be removed
+ |
+note: the formatting specifier is referencing the binding already
+ --> $DIR/issue-105225.rs:10:16
+ |
+LL | println!("{x} {}", x, x);
+ | ^
+
+error: redundant argument
+ --> $DIR/issue-105225.rs:13:27
+ |
+LL | println!("{} {x}", x, x);
+ | ^ help: this can be removed
+ |
+note: the formatting specifier is referencing the binding already
+ --> $DIR/issue-105225.rs:13:19
+ |
+LL | println!("{} {x}", x, x);
+ | ^
+
+error: redundant arguments
+ --> $DIR/issue-105225.rs:16:25
+ |
+LL | println!("{x} {y}", x, y);
+ | ^ ^
+ |
+note: the formatting specifiers are referencing the bindings already
+ --> $DIR/issue-105225.rs:16:16
+ |
+LL | println!("{x} {y}", x, y);
+ | ^ ^
+help: this can be removed
+ |
+LL - println!("{x} {y}", x, y);
+LL + println!("{x} {y}", );
+ |
+
+error: redundant arguments
+ --> $DIR/issue-105225.rs:19:43
+ |
+LL | println!("{} {} {x} {y} {}", x, x, x, y, y);
+ | ^ ^
+ |
+note: the formatting specifiers are referencing the bindings already
+ --> $DIR/issue-105225.rs:19:26
+ |
+LL | println!("{} {} {x} {y} {}", x, x, x, y, y);
+ | ^
+help: this can be removed
+ |
+LL - println!("{} {} {x} {y} {}", x, x, x, y, y);
+LL + println!("{} {} {x} {y} {}", x, x, x, );
+ |
+
+error: aborting due to 5 previous errors
+
diff --git a/tests/ui/did_you_mean/issue-114112.rs b/tests/ui/did_you_mean/issue-114112.rs
new file mode 100644
index 000000000..0fde12ecd
--- /dev/null
+++ b/tests/ui/did_you_mean/issue-114112.rs
@@ -0,0 +1,11 @@
+enum E<T> {
+ A(T)
+}
+
+fn main() {
+ match E::<i32>::A(1) {
+ E<i32>::A(v) => { //~ ERROR generic args in patterns require the turbofish syntax
+ println!("{v:?}");
+ },
+ }
+}
diff --git a/tests/ui/did_you_mean/issue-114112.stderr b/tests/ui/did_you_mean/issue-114112.stderr
new file mode 100644
index 000000000..071c9614f
--- /dev/null
+++ b/tests/ui/did_you_mean/issue-114112.stderr
@@ -0,0 +1,13 @@
+error: generic args in patterns require the turbofish syntax
+ --> $DIR/issue-114112.rs:7:10
+ |
+LL | E<i32>::A(v) => {
+ | ^
+ |
+help: use `::<...>` instead of `<...>` to specify lifetime, type, or const arguments
+ |
+LL | E::<i32>::A(v) => {
+ | ++
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-1.stderr b/tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-1.stderr
index b69fcd5d3..9cbce93c8 100644
--- a/tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-1.stderr
+++ b/tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-1.stderr
@@ -10,6 +10,6 @@ LL | f1.foo(1usize);
<Bar as Foo<i32>>
<Bar as Foo<u8>>
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr b/tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr
index 5e0e4a011..6ac0bf21e 100644
--- a/tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr
+++ b/tests/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr
@@ -7,13 +7,13 @@ LL | f1.foo(1usize);
| required by a bound introduced by this call
|
= help: the following other types implement trait `Foo<A>`:
+ <Bar as Foo<i8>>
<Bar as Foo<i16>>
<Bar as Foo<i32>>
- <Bar as Foo<i8>>
+ <Bar as Foo<u8>>
<Bar as Foo<u16>>
<Bar as Foo<u32>>
- <Bar as Foo<u8>>
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/did_you_mean/issue-34126.stderr b/tests/ui/did_you_mean/issue-34126.stderr
index 5343acea4..9f7920706 100644
--- a/tests/ui/did_you_mean/issue-34126.stderr
+++ b/tests/ui/did_you_mean/issue-34126.stderr
@@ -19,9 +19,8 @@ error[E0502]: cannot borrow `self` as mutable because it is also borrowed as imm
--> $DIR/issue-34126.rs:6:18
|
LL | self.run(&mut self);
- | ---------^^^^^^^^^-
- | | | |
- | | | mutable borrow occurs here
+ | ---- --- ^^^^^^^^^ mutable borrow occurs here
+ | | |
| | immutable borrow later used by call
| immutable borrow occurs here
diff --git a/tests/ui/did_you_mean/issue-34337.stderr b/tests/ui/did_you_mean/issue-34337.stderr
index 1f18ea892..c727a565d 100644
--- a/tests/ui/did_you_mean/issue-34337.stderr
+++ b/tests/ui/did_you_mean/issue-34337.stderr
@@ -7,6 +7,6 @@ LL | get(&mut key);
| cannot borrow as mutable
| help: try removing `&mut` here
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0596`.
diff --git a/tests/ui/did_you_mean/issue-35937.stderr b/tests/ui/did_you_mean/issue-35937.stderr
index 1670da559..3081f2cec 100644
--- a/tests/ui/did_you_mean/issue-35937.stderr
+++ b/tests/ui/did_you_mean/issue-35937.stderr
@@ -2,7 +2,7 @@ error[E0596]: cannot borrow `f.v` as mutable, as `f` is not declared as mutable
--> $DIR/issue-35937.rs:7:5
|
LL | f.v.push("cat".to_string());
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot borrow as mutable
+ | ^^^ cannot borrow as mutable
|
help: consider changing this to be mutable
|
diff --git a/tests/ui/did_you_mean/issue-36798.stderr b/tests/ui/did_you_mean/issue-36798.stderr
index 98876e305..70aa3c32b 100644
--- a/tests/ui/did_you_mean/issue-36798.stderr
+++ b/tests/ui/did_you_mean/issue-36798.stderr
@@ -2,8 +2,13 @@ error[E0609]: no field `baz` on type `Foo`
--> $DIR/issue-36798.rs:7:7
|
LL | f.baz;
- | ^^^ help: a field with a similar name exists: `bar`
+ | ^^^ unknown field
+ |
+help: a field with a similar name exists
+ |
+LL | f.bar;
+ | ~~~
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0609`.
diff --git a/tests/ui/did_you_mean/issue-36798_unknown_field.stderr b/tests/ui/did_you_mean/issue-36798_unknown_field.stderr
index 2ed0a0924..733af860f 100644
--- a/tests/ui/did_you_mean/issue-36798_unknown_field.stderr
+++ b/tests/ui/did_you_mean/issue-36798_unknown_field.stderr
@@ -4,8 +4,8 @@ error[E0609]: no field `zz` on type `Foo`
LL | f.zz;
| ^^ unknown field
|
- = note: available fields are: `bar`
+ = note: available field is: `bar`
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0609`.
diff --git a/tests/ui/did_you_mean/issue-37139.stderr b/tests/ui/did_you_mean/issue-37139.stderr
index dc1bdfaae..a07d83b31 100644
--- a/tests/ui/did_you_mean/issue-37139.stderr
+++ b/tests/ui/did_you_mean/issue-37139.stderr
@@ -7,6 +7,6 @@ LL | test(&mut x);
| cannot borrow as mutable
| help: try removing `&mut` here
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0596`.
diff --git a/tests/ui/did_you_mean/issue-38147-1.stderr b/tests/ui/did_you_mean/issue-38147-1.stderr
index 74fb1c2ec..a0392113a 100644
--- a/tests/ui/did_you_mean/issue-38147-1.stderr
+++ b/tests/ui/did_you_mean/issue-38147-1.stderr
@@ -2,13 +2,13 @@ error[E0596]: cannot borrow `*self.s` as mutable, as it is behind a `&` referenc
--> $DIR/issue-38147-1.rs:17:9
|
LL | self.s.push('x');
- | ^^^^^^^^^^^^^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable
+ | ^^^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable
|
help: consider changing this to be a mutable reference
|
LL | fn f(&mut self) {
| ~~~~~~~~~
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0596`.
diff --git a/tests/ui/did_you_mean/issue-38147-2.stderr b/tests/ui/did_you_mean/issue-38147-2.stderr
index 7c287a7db..d708be3d3 100644
--- a/tests/ui/did_you_mean/issue-38147-2.stderr
+++ b/tests/ui/did_you_mean/issue-38147-2.stderr
@@ -2,7 +2,7 @@ error[E0596]: cannot borrow `*self.s` as mutable, as it is behind a `&` referenc
--> $DIR/issue-38147-2.rs:9:9
|
LL | self.s.push('x');
- | ^^^^^^^^^^^^^^^^ cannot borrow as mutable
+ | ^^^^^^ cannot borrow as mutable
|
help: consider changing this to be mutable
|
@@ -13,7 +13,7 @@ error[E0596]: cannot borrow `*self.longer_name` as mutable, as it is behind a `&
--> $DIR/issue-38147-2.rs:12:9
|
LL | self.longer_name.push(13);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ cannot borrow as mutable
+ | ^^^^^^^^^^^^^^^^ cannot borrow as mutable
|
help: consider changing this to be mutable
|
diff --git a/tests/ui/did_you_mean/issue-38147-3.stderr b/tests/ui/did_you_mean/issue-38147-3.stderr
index 94ffe17f1..1d92f7742 100644
--- a/tests/ui/did_you_mean/issue-38147-3.stderr
+++ b/tests/ui/did_you_mean/issue-38147-3.stderr
@@ -2,13 +2,13 @@ error[E0596]: cannot borrow `*self.s` as mutable, as it is behind a `&` referenc
--> $DIR/issue-38147-3.rs:7:9
|
LL | self.s.push('x');
- | ^^^^^^^^^^^^^^^^ cannot borrow as mutable
+ | ^^^^^^ cannot borrow as mutable
|
help: consider changing this to be mutable
|
LL | s: &'a mut String
| +++
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0596`.
diff --git a/tests/ui/did_you_mean/issue-38147-4.stderr b/tests/ui/did_you_mean/issue-38147-4.stderr
index 43647fa56..573091721 100644
--- a/tests/ui/did_you_mean/issue-38147-4.stderr
+++ b/tests/ui/did_you_mean/issue-38147-4.stderr
@@ -2,13 +2,13 @@ error[E0596]: cannot borrow `*f.s` as mutable, as it is behind a `&` reference
--> $DIR/issue-38147-4.rs:6:5
|
LL | f.s.push('x');
- | ^^^^^^^^^^^^^ `f` is a `&` reference, so the data it refers to cannot be borrowed as mutable
+ | ^^^ `f` is a `&` reference, so the data it refers to cannot be borrowed as mutable
|
help: consider changing this to be a mutable reference
|
LL | fn f(x: usize, f: &mut Foo) {
| +++
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0596`.
diff --git a/tests/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr b/tests/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr
index 7229b9ac9..ae15e054f 100644
--- a/tests/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr
+++ b/tests/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr
@@ -8,10 +8,10 @@ LL | Foo::<i32>::bar(&1i8);
|
= help: the following other types implement trait `Foo<B>`:
<i8 as Foo<bool>>
+ <i8 as Foo<u8>>
<i8 as Foo<u16>>
<i8 as Foo<u32>>
<i8 as Foo<u64>>
- <i8 as Foo<u8>>
error[E0277]: the trait bound `u8: Foo<i32>` is not satisfied
--> $DIR/issue-39802-show-5-trait-impls.rs:25:21
@@ -38,10 +38,10 @@ LL | Foo::<i32>::bar(&true);
= help: the following other types implement trait `Foo<B>`:
<bool as Foo<bool>>
<bool as Foo<i8>>
+ <bool as Foo<u8>>
<bool as Foo<u16>>
<bool as Foo<u32>>
<bool as Foo<u64>>
- <bool as Foo<u8>>
error: aborting due to 3 previous errors
diff --git a/tests/ui/did_you_mean/issue-40823.stderr b/tests/ui/did_you_mean/issue-40823.stderr
index ba94a5702..d9f69eb47 100644
--- a/tests/ui/did_you_mean/issue-40823.stderr
+++ b/tests/ui/did_you_mean/issue-40823.stderr
@@ -2,13 +2,13 @@ error[E0596]: cannot borrow `*buf` as mutable, as it is behind a `&` reference
--> $DIR/issue-40823.rs:3:5
|
LL | buf.iter_mut();
- | ^^^^^^^^^^^^^^ `buf` is a `&` reference, so the data it refers to cannot be borrowed as mutable
+ | ^^^ `buf` is a `&` reference, so the data it refers to cannot be borrowed as mutable
|
help: consider changing this to be a mutable reference
|
LL | let mut buf = &mut [1, 2, 3, 4];
| +++
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0596`.
diff --git a/tests/ui/did_you_mean/issue-42599_available_fields_note.stderr b/tests/ui/did_you_mean/issue-42599_available_fields_note.stderr
index dbd9dc1bc..d60db01a4 100644
--- a/tests/ui/did_you_mean/issue-42599_available_fields_note.stderr
+++ b/tests/ui/did_you_mean/issue-42599_available_fields_note.stderr
@@ -2,7 +2,12 @@ error[E0560]: struct `Demo` has no field named `inocently_mispellable`
--> $DIR/issue-42599_available_fields_note.rs:16:39
|
LL | Self { secret_integer: 2, inocently_mispellable: () }
- | ^^^^^^^^^^^^^^^^^^^^^ help: a field with a similar name exists: `innocently_misspellable`
+ | ^^^^^^^^^^^^^^^^^^^^^ unknown field
+ |
+help: a field with a similar name exists
+ |
+LL | Self { secret_integer: 2, innocently_misspellable: () }
+ | ~~~~~~~~~~~~~~~~~~~~~~~
error[E0560]: struct `Demo` has no field named `egregiously_nonexistent_field`
--> $DIR/issue-42599_available_fields_note.rs:21:39
@@ -10,13 +15,18 @@ error[E0560]: struct `Demo` has no field named `egregiously_nonexistent_field`
LL | Self { secret_integer: 3, egregiously_nonexistent_field: () }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Demo` does not have this field
|
- = note: available fields are: `favorite_integer`, `secret_integer`, `innocently_misspellable`, `another_field`, `yet_another_field` ... and 2 others
+ = note: available fields are: `favorite_integer`, `innocently_misspellable`, `another_field`, `yet_another_field`, `always_more_fields`, `and_ever`
error[E0609]: no field `inocently_mispellable` on type `Demo`
--> $DIR/issue-42599_available_fields_note.rs:32:41
|
LL | let innocent_field_misaccess = demo.inocently_mispellable;
- | ^^^^^^^^^^^^^^^^^^^^^ help: a field with a similar name exists: `innocently_misspellable`
+ | ^^^^^^^^^^^^^^^^^^^^^ unknown field
+ |
+help: a field with a similar name exists
+ |
+LL | let innocent_field_misaccess = demo.innocently_misspellable;
+ | ~~~~~~~~~~~~~~~~~~~~~~~
error[E0609]: no field `egregiously_nonexistent_field` on type `Demo`
--> $DIR/issue-42599_available_fields_note.rs:35:42
diff --git a/tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr b/tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr
index 589b2c378..92cbc03e0 100644
--- a/tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr
+++ b/tests/ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.stderr
@@ -9,5 +9,5 @@ help: to omit remaining fields, use `..`
LL | PersonalityInventory { expressivity: exp, .. } => exp
| ~~
-error: aborting due to previous error
+error: aborting due to 1 previous error
diff --git a/tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr b/tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr
index 26986684f..44bdbb93f 100644
--- a/tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr
+++ b/tests/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr
@@ -23,14 +23,14 @@ LL | const UNIVERSAL_GRAVITATIONAL_CONSTANT: f64 = 6.674e−11; // m³⋅kg⁻¹
|
= help: the trait `Sub<{integer}>` is not implemented for `{float}`
= help: the following other types implement trait `Sub<Rhs>`:
- <&'a f32 as Sub<f32>>
- <&'a f64 as Sub<f64>>
- <&'a i128 as Sub<i128>>
- <&'a i16 as Sub<i16>>
- <&'a i32 as Sub<i32>>
- <&'a i64 as Sub<i64>>
- <&'a i8 as Sub<i8>>
- <&'a isize as Sub<isize>>
+ <isize as Sub>
+ <isize as Sub<&isize>>
+ <i8 as Sub>
+ <i8 as Sub<&i8>>
+ <i16 as Sub>
+ <i16 as Sub<&i16>>
+ <i32 as Sub>
+ <i32 as Sub<&i32>>
and 48 others
error: aborting due to 3 previous errors
diff --git a/tests/ui/did_you_mean/issue-93210-ignore-doc-hidden.rs b/tests/ui/did_you_mean/issue-93210-ignore-doc-hidden.rs
deleted file mode 100644
index 0efc7daa3..000000000
--- a/tests/ui/did_you_mean/issue-93210-ignore-doc-hidden.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-#[derive(Default)]
-pub struct A {
- #[doc(hidden)]
- pub hello: i32,
- pub bye: i32,
-}
-
-#[derive(Default)]
-pub struct B {
- pub hello: i32,
- pub bye: i32,
-}
-
-fn main() {
- A::default().hey;
- //~^ ERROR no field `hey` on type `A`
- //~| NOTE unknown field
- //~| NOTE available fields are: `bye`
-
- B::default().hey;
- //~^ ERROR no field `hey` on type `B`
- //~| NOTE unknown field
- //~| NOTE available fields are: `hello`, `bye`
-}
diff --git a/tests/ui/did_you_mean/issue-93210-ignore-doc-hidden.stderr b/tests/ui/did_you_mean/issue-93210-ignore-doc-hidden.stderr
deleted file mode 100644
index 784986d3b..000000000
--- a/tests/ui/did_you_mean/issue-93210-ignore-doc-hidden.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0609]: no field `hey` on type `A`
- --> $DIR/issue-93210-ignore-doc-hidden.rs:15:18
- |
-LL | A::default().hey;
- | ^^^ unknown field
- |
- = note: available fields are: `bye`
-
-error[E0609]: no field `hey` on type `B`
- --> $DIR/issue-93210-ignore-doc-hidden.rs:20:18
- |
-LL | B::default().hey;
- | ^^^ unknown field
- |
- = note: available fields are: `hello`, `bye`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0609`.
diff --git a/tests/ui/did_you_mean/println-typo.stderr b/tests/ui/did_you_mean/println-typo.stderr
index 43b7b1894..a1e0b1f1b 100644
--- a/tests/ui/did_you_mean/println-typo.stderr
+++ b/tests/ui/did_you_mean/println-typo.stderr
@@ -7,5 +7,5 @@ LL | prinltn!();
|
= note: similarly named macro `println` defined here
-error: aborting due to previous error
+error: aborting due to 1 previous error
diff --git a/tests/ui/did_you_mean/pub-macro-rules.stderr b/tests/ui/did_you_mean/pub-macro-rules.stderr
index 0bde5783b..ba9020460 100644
--- a/tests/ui/did_you_mean/pub-macro-rules.stderr
+++ b/tests/ui/did_you_mean/pub-macro-rules.stderr
@@ -4,5 +4,5 @@ error: can't qualify macro_rules invocation with `pub`
LL | pub macro_rules! foo {
| ^^^ help: try exporting the macro: `#[macro_export]`
-error: aborting due to previous error
+error: aborting due to 1 previous error
diff --git a/tests/ui/did_you_mean/recursion_limit.stderr b/tests/ui/did_you_mean/recursion_limit.stderr
index 70e49566a..bff57a63d 100644
--- a/tests/ui/did_you_mean/recursion_limit.stderr
+++ b/tests/ui/did_you_mean/recursion_limit.stderr
@@ -56,6 +56,6 @@ note: required by a bound in `is_send`
LL | fn is_send<T:Send>() { }
| ^^^^ required by this bound in `is_send`
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0275`.
diff --git a/tests/ui/did_you_mean/recursion_limit_macro.stderr b/tests/ui/did_you_mean/recursion_limit_macro.stderr
index 71855cf1e..dc4189ed9 100644
--- a/tests/ui/did_you_mean/recursion_limit_macro.stderr
+++ b/tests/ui/did_you_mean/recursion_limit_macro.stderr
@@ -10,5 +10,5 @@ LL | recurse!(0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9);
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "20"]` attribute to your crate (`recursion_limit_macro`)
= note: this error originates in the macro `recurse` (in Nightly builds, run with -Z macro-backtrace for more info)
-error: aborting due to previous error
+error: aborting due to 1 previous error
diff --git a/tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr b/tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr
index 730836a40..2ca6436bb 100644
--- a/tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr
+++ b/tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr
@@ -13,6 +13,6 @@ help: try replacing `_` with the types in the corresponding trait method signatu
LL | fn bar(i: i32, t: usize, s: &()) -> (usize, i32) {
| ~~~ ~~~~~ ~~~ ~~~~~~~~~~~~
-error: aborting due to previous error
+error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0121`.