about summary refs log tree commit diff
path: root/compiler/rustc_error_codes
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2025-01-24 04:06:47 +0000
committerMichael Goulet <michael@errs.io>2025-01-24 04:07:10 +0000
commitea9a253ff1e0a24e6439c122960f9a17a6e8d58d (patch)
treed5fca2329756b8734cb200f3e3ac068ffca30c2c /compiler/rustc_error_codes
parent99768c80a1c094a5cfc3b25a04e7a99de7210eae (diff)
downloadrust-ea9a253ff1e0a24e6439c122960f9a17a6e8d58d.tar.gz
rust-ea9a253ff1e0a24e6439c122960f9a17a6e8d58d.zip
Properly report error when object type param default references self
Diffstat (limited to 'compiler/rustc_error_codes')
-rw-r--r--compiler/rustc_error_codes/src/error_codes/E0393.md12
1 files changed, 5 insertions, 7 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0393.md b/compiler/rustc_error_codes/src/error_codes/E0393.md
index 50225b25163..c7260815905 100644
--- a/compiler/rustc_error_codes/src/error_codes/E0393.md
+++ b/compiler/rustc_error_codes/src/error_codes/E0393.md
@@ -3,12 +3,10 @@ A type parameter which references `Self` in its default value was not specified.
 Erroneous code example:
 
 ```compile_fail,E0393
-trait A<T=Self> {}
+trait A<T = Self> {}
 
-fn together_we_will_rule_the_galaxy(son: &A) {}
-// error: the type parameter `T` must be explicitly specified in an
-//        object type because its default value `Self` references the
-//        type `Self`
+fn together_we_will_rule_the_galaxy(son: &dyn A) {}
+// error: the type parameter `T` must be explicitly specified
 ```
 
 A trait object is defined over a single, fully-defined trait. With a regular
@@ -23,7 +21,7 @@ disallowed. Making the trait concrete by explicitly specifying the value of the
 defaulted parameter will fix this issue. Fixed example:
 
 ```
-trait A<T=Self> {}
+trait A<T = Self> {}
 
-fn together_we_will_rule_the_galaxy(son: &A<i32>) {} // Ok!
+fn together_we_will_rule_the_galaxy(son: &dyn A<i32>) {} // Ok!
 ```