mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-30 02:33:55 +00:00
parent
0112e7bd15
commit
8320a3a048
@ -202,8 +202,8 @@ impl fold::Folder for EntryPointCleaner {
|
||||
let folded = fold::noop_fold_item(i, self).expect_one("noop did something");
|
||||
self.depth -= 1;
|
||||
|
||||
// Remove any #[main] from the AST so it doesn't clash with
|
||||
// the one we're going to add, but mark it as
|
||||
// Remove any #[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 folded = match entry::entry_point_type(&*folded, self.depth) {
|
||||
EntryPointType::MainNamed |
|
||||
@ -221,13 +221,10 @@ impl fold::Folder for EntryPointCleaner {
|
||||
ast::Item {
|
||||
id: id,
|
||||
ident: ident,
|
||||
attrs: attrs.into_iter().filter_map(|attr| {
|
||||
if !attr.check_name("main") {
|
||||
Some(attr)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
attrs: attrs.into_iter()
|
||||
.filter(|attr| {
|
||||
!attr.check_name("main") && !attr.check_name("start")
|
||||
})
|
||||
.chain(iter::once(allow_dead_code))
|
||||
.collect(),
|
||||
node: node,
|
||||
|
16
src/test/run-pass/test-runner-hides-start.rs
Normal file
16
src/test/run-pass/test-runner-hides-start.rs
Normal file
@ -0,0 +1,16 @@
|
||||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// compile-flags: --test
|
||||
|
||||
#![feature(start)]
|
||||
|
||||
#[start]
|
||||
fn start(_: isize, _: *const *const u8) -> isize { panic!(); }
|
Loading…
Reference in New Issue
Block a user