summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_error_codes/src/error_codes/E0121.md
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_error_codes/src/error_codes/E0121.md')
-rw-r--r--compiler/rustc_error_codes/src/error_codes/E0121.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0121.md b/compiler/rustc_error_codes/src/error_codes/E0121.md
new file mode 100644
index 000000000..06fe396d5
--- /dev/null
+++ b/compiler/rustc_error_codes/src/error_codes/E0121.md
@@ -0,0 +1,24 @@
+The type placeholder `_` was used within a type on an item's signature.
+
+Erroneous code example:
+
+```compile_fail,E0121
+fn foo() -> _ { 5 } // error
+
+static BAR: _ = "test"; // error
+```
+
+In those cases, you need to provide the type explicitly:
+
+```
+fn foo() -> i32 { 5 } // ok!
+
+static BAR: &str = "test"; // ok!
+```
+
+The type placeholder `_` can be used outside item's signature as follows:
+
+```
+let x = "a4a".split('4')
+ .collect::<Vec<_>>(); // No need to precise the Vec's generic type.
+```