about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_typeck/error_codes.rs23
-rw-r--r--src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.stderr1
-rw-r--r--src/test/ui/codemap_tests/overlapping_inherent_impls.stderr1
-rw-r--r--src/test/ui/coherence/coherence-overlap-downstream-inherent.old.stderr1
-rw-r--r--src/test/ui/coherence/coherence-overlap-downstream-inherent.re.stderr1
-rw-r--r--src/test/ui/coherence/coherence-overlap-issue-23516-inherent.old.stderr1
-rw-r--r--src/test/ui/coherence/coherence-overlap-issue-23516-inherent.re.stderr1
-rw-r--r--src/test/ui/coherence/coherence-overlap-upstream-inherent.old.stderr1
-rw-r--r--src/test/ui/coherence/coherence-overlap-upstream-inherent.re.stderr1
-rw-r--r--src/test/ui/issues/issue-33140.stderr3
-rw-r--r--src/test/ui/specialization/specialization-overlap-hygiene.stderr1
-rw-r--r--src/test/ui/traits/trait-object-auto-dedup-in-impl.stderr1
12 files changed, 34 insertions, 2 deletions
diff --git a/src/librustc_typeck/error_codes.rs b/src/librustc_typeck/error_codes.rs
index 0b618cdf1db..c424388fb2e 100644
--- a/src/librustc_typeck/error_codes.rs
+++ b/src/librustc_typeck/error_codes.rs
@@ -3793,6 +3793,28 @@ details.
 [issue #33685]: https://github.com/rust-lang/rust/issues/33685
 "##,
 
+E0592: r##"
+This error occurs when you defined methods or associated functions with same
+name.
+
+For example, in the following code:
+
+```compile_fail,E0592
+struct Foo;
+
+impl Foo {
+    fn bar() {}
+}
+
+impl Foo {
+    fn bar() {}
+}
+```
+
+A similar error is E0201. The difference is whether there is one declaration
+block or not. To avoid this error, you have to give them one name each.
+"##,
+
 E0599: r##"
 This error occurs when a method is used on a type which doesn't implement it:
 
@@ -4771,7 +4793,6 @@ register_diagnostics! {
            // but `{}` was found in the type `{}`
     E0587, // type has conflicting packed and align representation hints
     E0588, // packed type cannot transitively contain a `[repr(align)]` type
-    E0592, // duplicate definitions with name `{}`
 //  E0611, // merged into E0616
 //  E0612, // merged into E0609
 //  E0613, // Removed (merged with E0609)
diff --git a/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.stderr b/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.stderr
index a97161b131d..a60be6f23c4 100644
--- a/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.stderr
+++ b/src/test/ui/codemap_tests/coherence-overlapping-inherent-impl-trait.stderr
@@ -8,3 +8,4 @@ LL | impl dyn C { fn f() {} }
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0592`.
diff --git a/src/test/ui/codemap_tests/overlapping_inherent_impls.stderr b/src/test/ui/codemap_tests/overlapping_inherent_impls.stderr
index b16d2849f19..70c1093e9ed 100644
--- a/src/test/ui/codemap_tests/overlapping_inherent_impls.stderr
+++ b/src/test/ui/codemap_tests/overlapping_inherent_impls.stderr
@@ -29,3 +29,4 @@ LL |     fn baz(&self) {}
 
 error: aborting due to 3 previous errors
 
+For more information about this error, try `rustc --explain E0592`.
diff --git a/src/test/ui/coherence/coherence-overlap-downstream-inherent.old.stderr b/src/test/ui/coherence/coherence-overlap-downstream-inherent.old.stderr
index 283d7a04d9b..dcfc017f1b0 100644
--- a/src/test/ui/coherence/coherence-overlap-downstream-inherent.old.stderr
+++ b/src/test/ui/coherence/coherence-overlap-downstream-inherent.old.stderr
@@ -20,3 +20,4 @@ LL | impl<X> A<i32, X> { fn f(&self) {} }
 
 error: aborting due to 2 previous errors
 
+For more information about this error, try `rustc --explain E0592`.
diff --git a/src/test/ui/coherence/coherence-overlap-downstream-inherent.re.stderr b/src/test/ui/coherence/coherence-overlap-downstream-inherent.re.stderr
index 283d7a04d9b..dcfc017f1b0 100644
--- a/src/test/ui/coherence/coherence-overlap-downstream-inherent.re.stderr
+++ b/src/test/ui/coherence/coherence-overlap-downstream-inherent.re.stderr
@@ -20,3 +20,4 @@ LL | impl<X> A<i32, X> { fn f(&self) {} }
 
 error: aborting due to 2 previous errors
 
+For more information about this error, try `rustc --explain E0592`.
diff --git a/src/test/ui/coherence/coherence-overlap-issue-23516-inherent.old.stderr b/src/test/ui/coherence/coherence-overlap-issue-23516-inherent.old.stderr
index 38df106cc88..6fd93077540 100644
--- a/src/test/ui/coherence/coherence-overlap-issue-23516-inherent.old.stderr
+++ b/src/test/ui/coherence/coherence-overlap-issue-23516-inherent.old.stderr
@@ -11,3 +11,4 @@ LL | impl<U:Sugar> Cake<Box<U>> { fn dummy(&self) { } }
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0592`.
diff --git a/src/test/ui/coherence/coherence-overlap-issue-23516-inherent.re.stderr b/src/test/ui/coherence/coherence-overlap-issue-23516-inherent.re.stderr
index 38df106cc88..6fd93077540 100644
--- a/src/test/ui/coherence/coherence-overlap-issue-23516-inherent.re.stderr
+++ b/src/test/ui/coherence/coherence-overlap-issue-23516-inherent.re.stderr
@@ -11,3 +11,4 @@ LL | impl<U:Sugar> Cake<Box<U>> { fn dummy(&self) { } }
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0592`.
diff --git a/src/test/ui/coherence/coherence-overlap-upstream-inherent.old.stderr b/src/test/ui/coherence/coherence-overlap-upstream-inherent.old.stderr
index 6716b71b25b..928b65e0039 100644
--- a/src/test/ui/coherence/coherence-overlap-upstream-inherent.old.stderr
+++ b/src/test/ui/coherence/coherence-overlap-upstream-inherent.old.stderr
@@ -11,3 +11,4 @@ LL | impl A<i16> { fn dummy(&self) { } }
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0592`.
diff --git a/src/test/ui/coherence/coherence-overlap-upstream-inherent.re.stderr b/src/test/ui/coherence/coherence-overlap-upstream-inherent.re.stderr
index 6716b71b25b..928b65e0039 100644
--- a/src/test/ui/coherence/coherence-overlap-upstream-inherent.re.stderr
+++ b/src/test/ui/coherence/coherence-overlap-upstream-inherent.re.stderr
@@ -11,3 +11,4 @@ LL | impl A<i16> { fn dummy(&self) { } }
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0592`.
diff --git a/src/test/ui/issues/issue-33140.stderr b/src/test/ui/issues/issue-33140.stderr
index dae9e02633d..6c3ba63e6f6 100644
--- a/src/test/ui/issues/issue-33140.stderr
+++ b/src/test/ui/issues/issue-33140.stderr
@@ -31,4 +31,5 @@ LL | |     }
 
 error: aborting due to 3 previous errors
 
-For more information about this error, try `rustc --explain E0119`.
+Some errors have detailed explanations: E0119, E0592.
+For more information about an error, try `rustc --explain E0119`.
diff --git a/src/test/ui/specialization/specialization-overlap-hygiene.stderr b/src/test/ui/specialization/specialization-overlap-hygiene.stderr
index ed99aa3102d..6adf16de462 100644
--- a/src/test/ui/specialization/specialization-overlap-hygiene.stderr
+++ b/src/test/ui/specialization/specialization-overlap-hygiene.stderr
@@ -9,3 +9,4 @@ LL |    fn f() {}
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0592`.
diff --git a/src/test/ui/traits/trait-object-auto-dedup-in-impl.stderr b/src/test/ui/traits/trait-object-auto-dedup-in-impl.stderr
index 9cf39584a8c..2570db0212a 100644
--- a/src/test/ui/traits/trait-object-auto-dedup-in-impl.stderr
+++ b/src/test/ui/traits/trait-object-auto-dedup-in-impl.stderr
@@ -9,3 +9,4 @@ LL |     fn test(&self) { println!("two"); }
 
 error: aborting due to previous error
 
+For more information about this error, try `rustc --explain E0592`.