diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-08-03 13:11:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-03 13:11:59 +0200 |
| commit | 15b5aacab65156f06d9f622f75808842dc90e005 (patch) | |
| tree | da49d454617d23ce5b946986b05b793d92421e2c /src/libsyntax_ext | |
| parent | 42a32812751fcd532691f9e29a19ed5bceb928ad (diff) | |
| parent | c146344e32018a8b28c456352a873f9feafd6ff3 (diff) | |
Rollup merge of #63146 - Mark-Simulacrum:clean-attr, r=petrochenkov
Cleanup syntax::attr Mostly removing needless arguments to constructors r? @petrochenkov
Diffstat (limited to 'src/libsyntax_ext')
25 files changed, 21 insertions, 63 deletions
diff --git a/src/libsyntax_ext/assert.rs b/src/libsyntax_ext/assert.rs index 235565314f5..b10d8fcd357 100644 --- a/src/libsyntax_ext/assert.rs +++ b/src/libsyntax_ext/assert.rs @@ -3,7 +3,6 @@ use errors::{Applicability, DiagnosticBuilder}; use syntax::ast::{self, *}; use syntax::source_map::Spanned; use syntax::ext::base::*; -use syntax::ext::build::AstBuilder; use syntax::parse::token::{self, TokenKind}; use syntax::parse::parser::Parser; use syntax::print::pprust; diff --git a/src/libsyntax_ext/cfg.rs b/src/libsyntax_ext/cfg.rs index 2b64f558be0..84830e6ddda 100644 --- a/src/libsyntax_ext/cfg.rs +++ b/src/libsyntax_ext/cfg.rs @@ -6,7 +6,6 @@ use errors::DiagnosticBuilder; use syntax::ast; use syntax::ext::base::{self, *}; -use syntax::ext::build::AstBuilder; use syntax::attr; use syntax::tokenstream; use syntax::parse::token; diff --git a/src/libsyntax_ext/concat.rs b/src/libsyntax_ext/concat.rs index dbc985fd859..f1d079eb053 100644 --- a/src/libsyntax_ext/concat.rs +++ b/src/libsyntax_ext/concat.rs @@ -1,6 +1,5 @@ use syntax::ast; use syntax::ext::base; -use syntax::ext::build::AstBuilder; use syntax::symbol::Symbol; use syntax::tokenstream; diff --git a/src/libsyntax_ext/deriving/clone.rs b/src/libsyntax_ext/deriving/clone.rs index 9a890a06e03..2340238aaea 100644 --- a/src/libsyntax_ext/deriving/clone.rs +++ b/src/libsyntax_ext/deriving/clone.rs @@ -5,7 +5,6 @@ use crate::deriving::generic::ty::*; use syntax::ast::{self, Expr, GenericArg, Generics, ItemKind, MetaItem, VariantData}; use syntax::attr; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::{kw, sym, Symbol}; use syntax_pos::Span; @@ -77,7 +76,7 @@ pub fn expand_deriving_clone(cx: &mut ExtCtxt<'_>, } let inline = cx.meta_word(span, sym::inline); - let attrs = vec![cx.attribute(span, inline)]; + let attrs = vec![cx.attribute(inline)]; let trait_def = TraitDef { span, attributes: Vec::new(), diff --git a/src/libsyntax_ext/deriving/cmp/eq.rs b/src/libsyntax_ext/deriving/cmp/eq.rs index 1d981e0ff79..0c34599814a 100644 --- a/src/libsyntax_ext/deriving/cmp/eq.rs +++ b/src/libsyntax_ext/deriving/cmp/eq.rs @@ -4,7 +4,6 @@ use crate::deriving::generic::ty::*; use syntax::ast::{self, Expr, MetaItem, GenericArg}; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::{sym, Symbol}; use syntax_pos::Span; @@ -17,7 +16,7 @@ pub fn expand_deriving_eq(cx: &mut ExtCtxt<'_>, let inline = cx.meta_word(span, sym::inline); let hidden = cx.meta_list_item_word(span, sym::hidden); let doc = cx.meta_list(span, sym::doc, vec![hidden]); - let attrs = vec![cx.attribute(span, inline), cx.attribute(span, doc)]; + let attrs = vec![cx.attribute(inline), cx.attribute(doc)]; let trait_def = TraitDef { span, attributes: Vec::new(), diff --git a/src/libsyntax_ext/deriving/cmp/ord.rs b/src/libsyntax_ext/deriving/cmp/ord.rs index 844865d57c7..885cfee3565 100644 --- a/src/libsyntax_ext/deriving/cmp/ord.rs +++ b/src/libsyntax_ext/deriving/cmp/ord.rs @@ -4,7 +4,6 @@ use crate::deriving::generic::ty::*; use syntax::ast::{self, Expr, MetaItem}; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::sym; use syntax_pos::Span; @@ -15,7 +14,7 @@ pub fn expand_deriving_ord(cx: &mut ExtCtxt<'_>, item: &Annotatable, push: &mut dyn FnMut(Annotatable)) { let inline = cx.meta_word(span, sym::inline); - let attrs = vec![cx.attribute(span, inline)]; + let attrs = vec![cx.attribute(inline)]; let trait_def = TraitDef { span, attributes: Vec::new(), diff --git a/src/libsyntax_ext/deriving/cmp/partial_eq.rs b/src/libsyntax_ext/deriving/cmp/partial_eq.rs index 732bb234389..337f7c5cfe2 100644 --- a/src/libsyntax_ext/deriving/cmp/partial_eq.rs +++ b/src/libsyntax_ext/deriving/cmp/partial_eq.rs @@ -4,7 +4,6 @@ use crate::deriving::generic::ty::*; use syntax::ast::{BinOpKind, Expr, MetaItem}; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::sym; use syntax_pos::Span; @@ -63,7 +62,7 @@ pub fn expand_deriving_partial_eq(cx: &mut ExtCtxt<'_>, macro_rules! md { ($name:expr, $f:ident) => { { let inline = cx.meta_word(span, sym::inline); - let attrs = vec![cx.attribute(span, inline)]; + let attrs = vec![cx.attribute(inline)]; MethodDef { name: $name, generics: LifetimeBounds::empty(), diff --git a/src/libsyntax_ext/deriving/cmp/partial_ord.rs b/src/libsyntax_ext/deriving/cmp/partial_ord.rs index a30a7d78222..0ec30f5924f 100644 --- a/src/libsyntax_ext/deriving/cmp/partial_ord.rs +++ b/src/libsyntax_ext/deriving/cmp/partial_ord.rs @@ -6,7 +6,6 @@ use crate::deriving::generic::ty::*; use syntax::ast::{self, BinOpKind, Expr, MetaItem}; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::{sym, Symbol}; use syntax_pos::Span; @@ -19,7 +18,7 @@ pub fn expand_deriving_partial_ord(cx: &mut ExtCtxt<'_>, macro_rules! md { ($name:expr, $op:expr, $equal:expr) => { { let inline = cx.meta_word(span, sym::inline); - let attrs = vec![cx.attribute(span, inline)]; + let attrs = vec![cx.attribute(inline)]; MethodDef { name: $name, generics: LifetimeBounds::empty(), @@ -43,7 +42,7 @@ pub fn expand_deriving_partial_ord(cx: &mut ExtCtxt<'_>, PathKind::Std)); let inline = cx.meta_word(span, sym::inline); - let attrs = vec![cx.attribute(span, inline)]; + let attrs = vec![cx.attribute(inline)]; let partial_cmp_def = MethodDef { name: "partial_cmp", diff --git a/src/libsyntax_ext/deriving/debug.rs b/src/libsyntax_ext/deriving/debug.rs index 44ddbb98809..0f709630bf4 100644 --- a/src/libsyntax_ext/deriving/debug.rs +++ b/src/libsyntax_ext/deriving/debug.rs @@ -7,7 +7,6 @@ use rustc_data_structures::thin_vec::ThinVec; use syntax::ast::{self, Ident}; use syntax::ast::{Expr, MetaItem}; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::sym; use syntax_pos::{DUMMY_SP, Span}; diff --git a/src/libsyntax_ext/deriving/decodable.rs b/src/libsyntax_ext/deriving/decodable.rs index 4c0641d08a9..293c5a1e7e7 100644 --- a/src/libsyntax_ext/deriving/decodable.rs +++ b/src/libsyntax_ext/deriving/decodable.rs @@ -7,7 +7,6 @@ use crate::deriving::generic::ty::*; use syntax::ast; use syntax::ast::{Expr, MetaItem, Mutability}; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::Symbol; use syntax_pos::Span; diff --git a/src/libsyntax_ext/deriving/default.rs b/src/libsyntax_ext/deriving/default.rs index fd8e87e2fef..2fdea10b76f 100644 --- a/src/libsyntax_ext/deriving/default.rs +++ b/src/libsyntax_ext/deriving/default.rs @@ -4,7 +4,6 @@ use crate::deriving::generic::ty::*; use syntax::ast::{Expr, MetaItem}; use syntax::ext::base::{Annotatable, DummyResult, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::{kw, sym}; use syntax::span_err; @@ -16,7 +15,7 @@ pub fn expand_deriving_default(cx: &mut ExtCtxt<'_>, item: &Annotatable, push: &mut dyn FnMut(Annotatable)) { let inline = cx.meta_word(span, sym::inline); - let attrs = vec![cx.attribute(span, inline)]; + let attrs = vec![cx.attribute(inline)]; let trait_def = TraitDef { span, attributes: Vec::new(), diff --git a/src/libsyntax_ext/deriving/encodable.rs b/src/libsyntax_ext/deriving/encodable.rs index a964a0970f0..6d0d3b96a56 100644 --- a/src/libsyntax_ext/deriving/encodable.rs +++ b/src/libsyntax_ext/deriving/encodable.rs @@ -88,7 +88,6 @@ use crate::deriving::generic::ty::*; use syntax::ast::{Expr, ExprKind, MetaItem, Mutability}; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::Symbol; use syntax_pos::Span; diff --git a/src/libsyntax_ext/deriving/generic/mod.rs b/src/libsyntax_ext/deriving/generic/mod.rs index 7f27769f236..4a0c4a39f78 100644 --- a/src/libsyntax_ext/deriving/generic/mod.rs +++ b/src/libsyntax_ext/deriving/generic/mod.rs @@ -187,7 +187,6 @@ use syntax::ast::{self, BinOpKind, EnumDef, Expr, Generics, Ident, PatKind}; use syntax::ast::{VariantData, GenericParamKind, GenericArg}; use syntax::attr; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::source_map::{self, respan}; use syntax::util::map_in_place::MapInPlace; use syntax::ptr::P; @@ -666,14 +665,13 @@ impl<'a> TraitDef<'a> { let path = cx.path_all(self.span, false, vec![type_ident], self_params, vec![]); let self_type = cx.ty_path(path); - let attr = cx.attribute(self.span, - cx.meta_word(self.span, sym::automatically_derived)); + let attr = cx.attribute(cx.meta_word(self.span, sym::automatically_derived)); // Just mark it now since we know that it'll end up used downstream attr::mark_used(&attr); let opt_trait_ref = Some(trait_ref); let unused_qual = { let word = cx.meta_list_item_word(self.span, Symbol::intern("unused_qualifications")); - cx.attribute(self.span, cx.meta_list(self.span, sym::allow, vec![word])) + cx.attribute(cx.meta_list(self.span, sym::allow, vec![word])) }; let mut a = vec![attr, unused_qual]; diff --git a/src/libsyntax_ext/deriving/generic/ty.rs b/src/libsyntax_ext/deriving/generic/ty.rs index 394beb14171..399829eaefd 100644 --- a/src/libsyntax_ext/deriving/generic/ty.rs +++ b/src/libsyntax_ext/deriving/generic/ty.rs @@ -6,7 +6,6 @@ pub use Ty::*; use syntax::ast::{self, Expr, GenericParamKind, Generics, Ident, SelfKind, GenericArg}; use syntax::ext::base::ExtCtxt; -use syntax::ext::build::AstBuilder; use syntax::source_map::{respan, DUMMY_SP}; use syntax::ptr::P; use syntax_pos::Span; diff --git a/src/libsyntax_ext/deriving/hash.rs b/src/libsyntax_ext/deriving/hash.rs index 7ad04aebf6e..9787722e81d 100644 --- a/src/libsyntax_ext/deriving/hash.rs +++ b/src/libsyntax_ext/deriving/hash.rs @@ -4,7 +4,6 @@ use crate::deriving::generic::ty::*; use syntax::ast::{Expr, MetaItem, Mutability}; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::sym; use syntax_pos::Span; diff --git a/src/libsyntax_ext/deriving/mod.rs b/src/libsyntax_ext/deriving/mod.rs index cad79917af2..8cd2853e538 100644 --- a/src/libsyntax_ext/deriving/mod.rs +++ b/src/libsyntax_ext/deriving/mod.rs @@ -2,7 +2,6 @@ use syntax::ast::{self, MetaItem}; use syntax::ext::base::{Annotatable, ExtCtxt, MultiItemModifier}; -use syntax::ext::build::AstBuilder; use syntax::ptr::P; use syntax::symbol::{Symbol, sym}; use syntax_pos::Span; diff --git a/src/libsyntax_ext/env.rs b/src/libsyntax_ext/env.rs index 03c60e3f11f..39fc90decc9 100644 --- a/src/libsyntax_ext/env.rs +++ b/src/libsyntax_ext/env.rs @@ -5,7 +5,6 @@ use syntax::ast::{self, Ident, GenericArg}; use syntax::ext::base::{self, *}; -use syntax::ext::build::AstBuilder; use syntax::symbol::{kw, sym, Symbol}; use syntax_pos::Span; use syntax::tokenstream; diff --git a/src/libsyntax_ext/format.rs b/src/libsyntax_ext/format.rs index fe9cad1e32f..2a299cc4f92 100644 --- a/src/libsyntax_ext/format.rs +++ b/src/libsyntax_ext/format.rs @@ -8,7 +8,6 @@ use errors::Applicability; use syntax::ast; use syntax::ext::base::{self, *}; -use syntax::ext::build::AstBuilder; use syntax::parse::token; use syntax::ptr::P; use syntax::symbol::{Symbol, sym}; diff --git a/src/libsyntax_ext/global_allocator.rs b/src/libsyntax_ext/global_allocator.rs index 33072487e19..f788b513804 100644 --- a/src/libsyntax_ext/global_allocator.rs +++ b/src/libsyntax_ext/global_allocator.rs @@ -3,7 +3,6 @@ use syntax::ast::{self, Arg, Attribute, Expr, FnHeader, Generics, Ident}; use syntax::attr::check_builtin_macro_attribute; use syntax::ext::allocator::{AllocatorKind, AllocatorMethod, AllocatorTy, ALLOCATOR_METHODS}; use syntax::ext::base::{Annotatable, ExtCtxt}; -use syntax::ext::build::AstBuilder; use syntax::ext::hygiene::SyntaxContext; use syntax::ptr::P; use syntax::symbol::{kw, sym, Symbol}; @@ -110,7 +109,7 @@ impl AllocFnFactory<'_, '_> { fn attrs(&self) -> Vec<Attribute> { let special = sym::rustc_std_internal_symbol; let special = self.cx.meta_word(self.span, special); - vec![self.cx.attribute(self.span, special)] + vec![self.cx.attribute(special)] } fn arg_ty( diff --git a/src/libsyntax_ext/plugin_macro_defs.rs b/src/libsyntax_ext/plugin_macro_defs.rs index 2fd1a42db95..a725f5e46ad 100644 --- a/src/libsyntax_ext/plugin_macro_defs.rs +++ b/src/libsyntax_ext/plugin_macro_defs.rs @@ -16,14 +16,8 @@ use syntax_pos::hygiene::{ExpnId, ExpnInfo, ExpnKind, MacroKind}; use std::mem; fn plugin_macro_def(name: Name, span: Span) -> P<Item> { - let rustc_builtin_macro = Attribute { - id: attr::mk_attr_id(), - style: AttrStyle::Outer, - path: Path::from_ident(Ident::new(sym::rustc_builtin_macro, span)), - tokens: TokenStream::empty(), - is_sugared_doc: false, - span, - }; + let rustc_builtin_macro = attr::mk_attr_outer( + attr::mk_word_item(Ident::new(sym::rustc_builtin_macro, span))); let parens: TreeAndJoint = TokenTree::Delimited( DelimSpan::from_single(span), token::Paren, TokenStream::empty() diff --git a/src/libsyntax_ext/proc_macro_harness.rs b/src/libsyntax_ext/proc_macro_harness.rs index fc6cd5dc94c..7913a7442ed 100644 --- a/src/libsyntax_ext/proc_macro_harness.rs +++ b/src/libsyntax_ext/proc_macro_harness.rs @@ -4,7 +4,6 @@ use syntax::ast::{self, Ident}; use syntax::attr; use syntax::source_map::{ExpnInfo, ExpnKind, respan}; use syntax::ext::base::{ExtCtxt, MacroKind}; -use syntax::ext::build::AstBuilder; use syntax::ext::expand::ExpansionConfig; use syntax::ext::hygiene::ExpnId; use syntax::ext::proc_macro::is_proc_macro_attr; @@ -337,7 +336,7 @@ fn mk_decls( let hidden = cx.meta_list_item_word(span, sym::hidden); let doc = cx.meta_list(span, sym::doc, vec![hidden]); - let doc_hidden = cx.attribute(span, doc); + let doc_hidden = cx.attribute(doc); let proc_macro = Ident::with_empty_ctxt(sym::proc_macro); let krate = cx.item(span, @@ -394,7 +393,7 @@ fn mk_decls( cx.expr_vec_slice(span, decls), ).map(|mut i| { let attr = cx.meta_word(span, sym::rustc_proc_macro_decls); - i.attrs.push(cx.attribute(span, attr)); + i.attrs.push(cx.attribute(attr)); i.vis = respan(span, ast::VisibilityKind::Public); i }); diff --git a/src/libsyntax_ext/source_util.rs b/src/libsyntax_ext/source_util.rs index 8ecfd4ddda7..2c8d53a2315 100644 --- a/src/libsyntax_ext/source_util.rs +++ b/src/libsyntax_ext/source_util.rs @@ -1,6 +1,5 @@ use syntax::{ast, panictry}; use syntax::ext::base::{self, *}; -use syntax::ext::build::AstBuilder; use syntax::parse::{self, token, DirectoryOwnership}; use syntax::print::pprust; use syntax::ptr::P; diff --git a/src/libsyntax_ext/standard_library_imports.rs b/src/libsyntax_ext/standard_library_imports.rs index 81bb32d79a2..68b13bdd171 100644 --- a/src/libsyntax_ext/standard_library_imports.rs +++ b/src/libsyntax_ext/standard_library_imports.rs @@ -4,7 +4,6 @@ use syntax::ext::hygiene::{ExpnId, MacroKind}; use syntax::ptr::P; use syntax::source_map::{ExpnInfo, ExpnKind, dummy_spanned, respan}; use syntax::symbol::{Ident, Symbol, kw, sym}; -use syntax::tokenstream::TokenStream; use syntax_pos::DUMMY_SP; use std::iter; @@ -41,8 +40,6 @@ pub fn inject( }; krate.module.items.insert(0, P(ast::Item { attrs: vec![attr::mk_attr_outer( - DUMMY_SP, - attr::mk_attr_id(), attr::mk_word_item(ast::Ident::with_empty_ctxt(sym::macro_use)) )], vis: dummy_spanned(ast::VisibilityKind::Inherited), @@ -64,14 +61,8 @@ pub fn inject( )); krate.module.items.insert(0, P(ast::Item { - attrs: vec![ast::Attribute { - style: ast::AttrStyle::Outer, - path: ast::Path::from_ident(ast::Ident::new(sym::prelude_import, span)), - tokens: TokenStream::empty(), - id: attr::mk_attr_id(), - is_sugared_doc: false, - span, - }], + attrs: vec![attr::mk_attr_outer( + attr::mk_word_item(ast::Ident::new(sym::prelude_import, span)))], vis: respan(span.shrink_to_lo(), ast::VisibilityKind::Inherited), node: ast::ItemKind::Use(P(ast::UseTree { prefix: ast::Path { diff --git a/src/libsyntax_ext/test.rs b/src/libsyntax_ext/test.rs index a2d93d01cec..993ef257527 100644 --- a/src/libsyntax_ext/test.rs +++ b/src/libsyntax_ext/test.rs @@ -4,7 +4,6 @@ use syntax::ast; use syntax::attr::{self, check_builtin_macro_attribute}; use syntax::ext::base::*; -use syntax::ext::build::AstBuilder; use syntax::ext::hygiene::SyntaxContext; use syntax::print::pprust; use syntax::source_map::respan; @@ -36,8 +35,7 @@ pub fn expand_test_case( item.vis = respan(item.vis.span, ast::VisibilityKind::Public); item.ident = item.ident.gensym(); item.attrs.push( - ecx.attribute(sp, - ecx.meta_word(sp, sym::rustc_test_marker)) + ecx.attribute(ecx.meta_word(sp, sym::rustc_test_marker)) ); item }); @@ -150,11 +148,11 @@ pub fn expand_test_or_bench( let mut test_const = cx.item(sp, ast::Ident::new(item.ident.name, sp).gensym(), vec![ // #[cfg(test)] - cx.attribute(attr_sp, cx.meta_list(attr_sp, sym::cfg, vec![ + cx.attribute(cx.meta_list(attr_sp, sym::cfg, vec![ cx.meta_list_item_word(attr_sp, sym::test) ])), // #[rustc_test_marker] - cx.attribute(attr_sp, cx.meta_word(attr_sp, sym::rustc_test_marker)), + cx.attribute(cx.meta_word(attr_sp, sym::rustc_test_marker)), ], // const $ident: test::TestDescAndFn = ast::ItemKind::Const(cx.ty(sp, ast::TyKind::Path(None, test_path("TestDescAndFn"))), diff --git a/src/libsyntax_ext/test_harness.rs b/src/libsyntax_ext/test_harness.rs index 848c797856e..4b3903c7ad7 100644 --- a/src/libsyntax_ext/test_harness.rs +++ b/src/libsyntax_ext/test_harness.rs @@ -6,7 +6,6 @@ use syntax::ast::{self, Ident}; use syntax::attr; use syntax::entry::{self, EntryPointType}; use syntax::ext::base::{ExtCtxt, Resolver}; -use syntax::ext::build::AstBuilder; use syntax::ext::expand::ExpansionConfig; use syntax::ext::hygiene::{ExpnId, MacroKind}; use syntax::feature_gate::Features; @@ -160,9 +159,7 @@ impl MutVisitor for EntryPointCleaner { let dc_nested = attr::mk_nested_word_item(Ident::from_str("dead_code")); let allow_dead_code_item = attr::mk_list_item(DUMMY_SP, allow_ident, vec![dc_nested]); - let allow_dead_code = attr::mk_attr_outer(DUMMY_SP, - attr::mk_attr_id(), - allow_dead_code_item); + let allow_dead_code = attr::mk_attr_outer(allow_dead_code_item); ast::Item { id, @@ -295,7 +292,7 @@ fn mk_main(cx: &mut TestCtxt<'_>) -> P<ast::Item> { // #![main] let main_meta = ecx.meta_word(sp, sym::main); - let main_attr = ecx.attribute(sp, main_meta); + let main_attr = ecx.attribute(main_meta); // extern crate test as test_gensym let test_extern_stmt = ecx.stmt_item(sp, ecx.item(sp, |
