From 94477e3323330f531705d6968761e7e8fd6f749e Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Wed, 22 Jun 2022 18:23:21 +0200 Subject: [PATCH] Fixup missing renames from `#[main]` to `#[rustc_main]` In fc357039f9 `#[main]` was removed and replaced with `#[rustc_main]`. In some place the rename was forgotten, which makes the current code confusing, because at first glance it seems that `#[main]` is still around. Perform the renames also in these places. --- compiler/rustc_ast/src/entry.rs | 2 +- compiler/rustc_builtin_macros/src/test_harness.rs | 11 ++++++----- compiler/rustc_passes/src/entry.rs | 10 +++++----- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/compiler/rustc_ast/src/entry.rs b/compiler/rustc_ast/src/entry.rs index c0a837985fd62..3370146193a52 100644 --- a/compiler/rustc_ast/src/entry.rs +++ b/compiler/rustc_ast/src/entry.rs @@ -2,7 +2,7 @@ pub enum EntryPointType { None, MainNamed, - MainAttr, + RustcMainAttr, Start, OtherMain, // Not an entry point, but some other function named main } diff --git a/compiler/rustc_builtin_macros/src/test_harness.rs b/compiler/rustc_builtin_macros/src/test_harness.rs index db8dce804a31b..a08495f7671b0 100644 --- a/compiler/rustc_builtin_macros/src/test_harness.rs +++ b/compiler/rustc_builtin_macros/src/test_harness.rs @@ -147,7 +147,7 @@ fn entry_point_type(sess: &Session, item: &ast::Item, depth: usize) -> EntryPoin if sess.contains_name(&item.attrs, sym::start) { EntryPointType::Start } else if sess.contains_name(&item.attrs, sym::rustc_main) { - EntryPointType::MainAttr + EntryPointType::RustcMainAttr } else if item.ident.name == sym::main { if depth == 0 { // This is a top-level function so can be 'main' @@ -177,12 +177,12 @@ impl<'a> MutVisitor for EntryPointCleaner<'a> { let item = noop_flat_map_item(i, self).expect_one("noop did something"); self.depth -= 1; - // Remove any #[main] or #[start] from the AST so it doesn't + // Remove any #[rustc_main] or #[start] from the AST so it doesn't // clash with the one we're going to add, but mark it as // #[allow(dead_code)] to avoid printing warnings. let item = match entry_point_type(self.sess, &item, self.depth) { - EntryPointType::MainNamed | EntryPointType::MainAttr | EntryPointType::Start => item - .map(|ast::Item { id, ident, attrs, kind, vis, span, tokens }| { + EntryPointType::MainNamed | EntryPointType::RustcMainAttr | EntryPointType::Start => { + item.map(|ast::Item { id, ident, attrs, kind, vis, span, tokens }| { let allow_ident = Ident::new(sym::allow, self.def_site); let dc_nested = attr::mk_nested_word_item(Ident::new(sym::dead_code, self.def_site)); @@ -197,7 +197,8 @@ impl<'a> MutVisitor for EntryPointCleaner<'a> { .collect(); ast::Item { id, ident, attrs, kind, vis, span, tokens } - }), + }) + } EntryPointType::None | EntryPointType::OtherMain => item, }; diff --git a/compiler/rustc_passes/src/entry.rs b/compiler/rustc_passes/src/entry.rs index b90d44e2af57c..f9e67310452a7 100644 --- a/compiler/rustc_passes/src/entry.rs +++ b/compiler/rustc_passes/src/entry.rs @@ -56,7 +56,7 @@ fn entry_point_type(ctxt: &EntryContext<'_>, id: ItemId, at_root: bool) -> Entry if ctxt.tcx.sess.contains_name(attrs, sym::start) { EntryPointType::Start } else if ctxt.tcx.sess.contains_name(attrs, sym::rustc_main) { - EntryPointType::MainAttr + EntryPointType::RustcMainAttr } else { if let Some(name) = ctxt.tcx.opt_item_name(id.def_id.to_def_id()) && name == sym::main { @@ -95,7 +95,7 @@ fn find_item(id: ItemId, ctxt: &mut EntryContext<'_>) { EntryPointType::OtherMain => { ctxt.non_main_fns.push(ctxt.tcx.def_span(id.def_id)); } - EntryPointType::MainAttr => { + EntryPointType::RustcMainAttr => { if ctxt.attr_main_fn.is_none() { ctxt.attr_main_fn = Some((id.def_id, ctxt.tcx.def_span(id.def_id.to_def_id()))); } else { @@ -103,13 +103,13 @@ fn find_item(id: ItemId, ctxt: &mut EntryContext<'_>) { ctxt.tcx.sess, ctxt.tcx.def_span(id.def_id.to_def_id()), E0137, - "multiple functions with a `#[main]` attribute" + "multiple functions with a `#[rustc_main]` attribute" ) .span_label( ctxt.tcx.def_span(id.def_id.to_def_id()), - "additional `#[main]` function", + "additional `#[rustc_main]` function", ) - .span_label(ctxt.attr_main_fn.unwrap().1, "first `#[main]` function") + .span_label(ctxt.attr_main_fn.unwrap().1, "first `#[rustc_main]` function") .emit(); } }