about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2015-08-26 13:22:55 +0200
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2015-08-26 13:22:55 +0200
commit9e51cee69a24704facbdf0a9b0a8e4fe5f9c85ac (patch)
treefff9f6c8b91ca692edcdf58a54780084068b4b15
parentdddc4ca90b406e24e890bfdb1566cb8ea93c9c48 (diff)
downloadrust-9e51cee69a24704facbdf0a9b0a8e4fe5f9c85ac.tar.gz
rust-9e51cee69a24704facbdf0a9b0a8e4fe5f9c85ac.zip
Improve E0062 error explanation
-rw-r--r--src/librustc_typeck/diagnostics.rs28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/librustc_typeck/diagnostics.rs b/src/librustc_typeck/diagnostics.rs
index 802d3dbe397..5e86f1cbd5c 100644
--- a/src/librustc_typeck/diagnostics.rs
+++ b/src/librustc_typeck/diagnostics.rs
@@ -640,8 +640,32 @@ variadic functions (except for its C-FFI).
 
 E0062: r##"
 This error indicates that during an attempt to build a struct or struct-like
-enum variant, one of the fields was specified more than once. Each field should
-be specified exactly one time.
+enum variant, one of the fields was specified more than once. Erroneous code
+example:
+
+```
+struct Foo {
+    x: i32
+}
+
+fn main() {
+    let x = Foo { x: 0,
+                  x: 0, // error: field `x` specified more than once
+                };
+}
+```
+
+Each field should be specified exactly one time. Example:
+
+```
+struct Foo {
+    x: i32
+}
+
+fn main() {
+    let x = Foo { x: 0 }; // ok!
+}
+```
 "##,
 
 E0063: r##"