about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2018-06-09 15:44:32 -0700
committerEsteban Küber <esteban@kuber.com.ar>2018-06-19 11:37:33 -0700
commit09e42bcb10cf056213b1101648befa7d49d05e98 (patch)
treead0b4331989d329a6de593fc923431be35bc0c80 /src/libsyntax/parse
parent6ec1b626ba06b51fc8c23ee1cd7e2788163c2265 (diff)
downloadrust-09e42bcb10cf056213b1101648befa7d49d05e98.tar.gz
rust-09e42bcb10cf056213b1101648befa7d49d05e98.zip
Add code to `invalid ABI` error
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/parser.rs13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 1735951da2f..f38f4cc7137 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -6535,12 +6535,15 @@ impl<'a> Parser<'a> {
                     Some(abi) => Ok(Some(abi)),
                     None => {
                         let prev_span = self.prev_span;
-                        self.span_err(
+                        let mut err = struct_span_err!(
+                            self.sess.span_diagnostic,
                             prev_span,
-                            &format!("invalid ABI: expected one of [{}], \
-                                     found `{}`",
-                                    abi::all_names().join(", "),
-                                    s));
+                            E0697,
+                            "invalid ABI: found `{}`",
+                            s);
+                        err.span_label(prev_span, "invalid ABI");
+                        err.help(&format!("valid ABIs: {}", abi::all_names().join(", ")));
+                        err.emit();
                         Ok(None)
                     }
                 }