]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_expand/expand.rs
Rollup merge of #68818 - matthiaskrgr:misc_perf, r=Mark-Simulacrum
[rust.git] / src / librustc_expand / expand.rs
index f08bed5731530e8558f892d6d05e4e814c808ab9..0b8cbd3a7833301e861501af778423255aa1b99a 100644 (file)
@@ -363,7 +363,17 @@ pub fn expand_crate(&mut self, mut krate: ast::Crate) -> ast::Crate {
                 krate.attrs = vec![];
                 krate.module = ast::Mod { inner: orig_mod_span, items: vec![], inline: true };
             }
-            _ => unreachable!(),
+            Some(ast::Item { span, kind, .. }) => {
+                krate.attrs = vec![];
+                krate.module = ast::Mod { inner: orig_mod_span, items: vec![], inline: true };
+                self.cx.span_err(
+                    span,
+                    &format!(
+                        "expected crate top-level item to be a module after macro expansion, found a {}",
+                        kind.descriptive_variant()
+                    ),
+                );
+            }
         };
         self.cx.trace_macros_diag();
         krate