about summary refs log tree commit diff
path: root/src/test/ui/macros/format-parse-errors.rs
diff options
context:
space:
mode:
authorAndy Russell <arussell123@gmail.com>2018-12-04 14:10:32 -0500
committerAndy Russell <arussell123@gmail.com>2019-01-02 11:02:30 -0500
commit0a6fb8473872b2a6dd7fe66697f90dceac667ec4 (patch)
treeb7249971dd35682476f30aa214312a60105ae87d /src/test/ui/macros/format-parse-errors.rs
parentcae164753f557f668cb75610abda4f790981e5e6 (diff)
downloadrust-0a6fb8473872b2a6dd7fe66697f90dceac667ec4.tar.gz
rust-0a6fb8473872b2a6dd7fe66697f90dceac667ec4.zip
make `panictry!` private to libsyntax
This commit completely removes usage of the `panictry!` macro from
outside libsyntax. The macro causes parse errors to be fatal, so using
it in libsyntax_ext caused parse failures *within* a syntax extension to
be fatal, which is probably not intended.

Furthermore, this commit adds spans to diagnostics emitted by empty
extensions if they were missing, à la #56491.
Diffstat (limited to 'src/test/ui/macros/format-parse-errors.rs')
-rw-r--r--src/test/ui/macros/format-parse-errors.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/test/ui/macros/format-parse-errors.rs b/src/test/ui/macros/format-parse-errors.rs
new file mode 100644
index 00000000000..ba1e441fe33
--- /dev/null
+++ b/src/test/ui/macros/format-parse-errors.rs
@@ -0,0 +1,10 @@
+fn main() {
+    format!(); //~ ERROR requires at least a format string argument
+    format!(struct); //~ ERROR expected expression
+    format!("s", name =); //~ ERROR expected expression
+    format!("s", foo = struct); //~ ERROR expected expression
+    format!("s", struct); //~ ERROR expected expression
+
+    // This error should come after parsing errors to ensure they are non-fatal.
+    format!(123); //~ ERROR format argument must be a string literal
+}