File tree Expand file tree Collapse file tree 1 file changed +8
-12
lines changed Expand file tree Collapse file tree 1 file changed +8
-12
lines changed Original file line number Diff line number Diff line change @@ -86,24 +86,20 @@ fn strip_test_functions(crate: @ast::crate) -> @ast::crate {
8686
8787fn fold_mod ( cx : test_ctxt , m : ast:: _mod , fld : fold:: ast_fold ) -> ast:: _mod {
8888
89- // Remove any defined main function from the AST so it doesn't clash with
89+ // Remove any #[ main] from the AST so it doesn't clash with
9090 // the one we're going to add. Only if compiling an executable.
9191
92- fn nomain ( cx : test_ctxt , item : @ast:: item ) -> Option < @ast:: item > {
93- match item. node {
94- ast:: item_fn( * ) => {
95- if attrs_contains_name ( item. attrs , ~"main")
96- && !cx. sess . building_library {
97- option:: None
98- } else { option:: Some ( item) }
99- }
100- _ => option:: Some ( item)
101- }
92+ fn nomain ( cx : test_ctxt , item : @ast:: item ) -> @ast:: item {
93+ if !cx. sess . building_library {
94+ @ast:: item { attrs : item. attrs . filtered ( |attr| {
95+ attr:: get_attr_name ( * attr) != ~"main"
96+ } ) , .. copy * item}
97+ } else { item }
10298 }
10399
104100 let mod_nomain =
105101 { view_items: /*bad*/ copy m. view_items ,
106- items: vec:: filter_map ( m. items , |i| nomain ( cx, * i) ) } ;
102+ items: vec:: map ( m. items , |i| nomain ( cx, * i) ) } ;
107103 return fold:: noop_fold_mod ( mod_nomain, fld) ;
108104}
109105
You can’t perform that action at this time.
0 commit comments