about summary refs log tree commit diff
path: root/src/libsyntax/lib.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-11-04 01:43:40 +0000
committerbors <bors@rust-lang.org>2018-11-04 01:43:40 +0000
commit6d69fe7a2fa31108ee7d23515cec7dd151d08331 (patch)
tree42306bbfe5108ed35ff0b7da27069e79012dd033 /src/libsyntax/lib.rs
parent4c5c05d7d93469e9b4069746bc8799ba9efd807a (diff)
parent014c8c4c3872ff74169ffbbc3a69acd92be2a76c (diff)
downloadrust-6d69fe7a2fa31108ee7d23515cec7dd151d08331.tar.gz
rust-6d69fe7a2fa31108ee7d23515cec7dd151d08331.zip
Auto merge of #54861 - rep-nop:find_main_in_doctest, r=estebank
rustdoc: Replaces fn main search and extern crate search with proper parsing during doctests.

Fixes #21299.
Fixes #33731.

Let me know if there's any additional changes you'd like made!
Diffstat (limited to 'src/libsyntax/lib.rs')
-rw-r--r--src/libsyntax/lib.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs
index 9077eca1821..e9a6535cba1 100644
--- a/src/libsyntax/lib.rs
+++ b/src/libsyntax/lib.rs
@@ -70,6 +70,23 @@ macro_rules! panictry {
     })
 }
 
+// A variant of 'panictry!' that works on a Vec<Diagnostic> instead of a single DiagnosticBuilder.
+macro_rules! panictry_buffer {
+    ($handler:expr, $e:expr) => ({
+        use std::result::Result::{Ok, Err};
+        use errors::{FatalError, DiagnosticBuilder};
+        match $e {
+            Ok(e) => e,
+            Err(errs) => {
+                for e in errs {
+                    DiagnosticBuilder::new_diagnostic($handler, e).emit();
+                }
+                FatalError.raise()
+            }
+        }
+    })
+}
+
 #[macro_export]
 macro_rules! unwrap_or {
     ($opt:expr, $default:expr) => {