diff options
| author | bors <bors@rust-lang.org> | 2013-10-10 21:31:21 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-10-10 21:31:21 -0700 |
| commit | e5fc0ca6dcc748d1534367343489ff6251afb4b2 (patch) | |
| tree | 20d1a65419c71c75b031d5a5e686dba7c0e79726 /src/libsyntax | |
| parent | 0daced63fc1a4f153e77c55cb6c1a2d02d3bb6bd (diff) | |
| parent | b70306158ff41706e08c691596087502ba40f635 (diff) | |
| download | rust-e5fc0ca6dcc748d1534367343489ff6251afb4b2.tar.gz rust-e5fc0ca6dcc748d1534367343489ff6251afb4b2.zip | |
auto merge of #9804 : alexcrichton/rust/always-anon-extern, r=brson
There's currently a fair amount of code which is being ignored on unnamed blocks (which are the default now), and I opted to leave it commented out for now. I intend on very soon revisiting on how we perform linking with extern crates in an effort to support static linking.
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast.rs | 8 | ||||
| -rw-r--r-- | src/libsyntax/ast_map.rs | 8 | ||||
| -rw-r--r-- | src/libsyntax/fold.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 12 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 8 |
5 files changed, 6 insertions, 31 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index 63c2f0e5191..08e1390a981 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -949,16 +949,8 @@ pub struct _mod { items: ~[@item], } -// Foreign mods can be named or anonymous -#[deriving(Clone, Eq, Encodable, Decodable,IterBytes)] -pub enum foreign_mod_sort { - named, - anonymous, -} - #[deriving(Clone, Eq, Encodable, Decodable,IterBytes)] pub struct foreign_mod { - sort: foreign_mod_sort, abis: AbiSet, view_items: ~[view_item], items: ~[@foreign_item], diff --git a/src/libsyntax/ast_map.rs b/src/libsyntax/ast_map.rs index b3d5e03331c..83205ccc981 100644 --- a/src/libsyntax/ast_map.rs +++ b/src/libsyntax/ast_map.rs @@ -294,17 +294,11 @@ impl Visitor<()> for Ctx { nm.abis, visibility, // FIXME (#2543) - if nm.sort == - ast::named { - let e = path_name( - i.ident); - self.extend(e) - } else { // Anonymous extern // mods go in the // parent scope. @self.path.clone() - })); + )); } } item_struct(struct_def, _) => { diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index 3c601196db9..84ff98b0188 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -289,7 +289,6 @@ pub trait ast_fold { fn fold_foreign_mod(&self, nm: &foreign_mod) -> foreign_mod { ast::foreign_mod { - sort: nm.sort, abis: nm.abis, view_items: nm.view_items .iter() diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 9f1a436a4d5..e7c579d2f19 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -4128,7 +4128,6 @@ impl Parser { // at this point, this is essentially a wrapper for // parse_foreign_items. fn parse_foreign_mod_items(&self, - sort: ast::foreign_mod_sort, abis: AbiSet, first_item_attrs: ~[Attribute]) -> foreign_mod { @@ -4144,7 +4143,6 @@ impl Parser { } assert!(*self.token == token::RBRACE); ast::foreign_mod { - sort: sort, abis: abis, view_items: view_items, items: foreign_items @@ -4169,7 +4167,7 @@ impl Parser { self.this_token_to_str())); } - let (sort, maybe_path, ident) = match *self.token { + let (named, maybe_path, ident) = match *self.token { token::IDENT(*) => { let the_ident = self.parse_ident(); let path = if *self.token == token::EQ { @@ -4177,7 +4175,7 @@ impl Parser { Some(self.parse_str()) } else { None }; - (ast::named, path, the_ident) + (true, path, the_ident) } _ => { if must_be_named_mod { @@ -4187,7 +4185,7 @@ impl Parser { self.this_token_to_str())); } - (ast::anonymous, None, + (false, None, special_idents::clownshoes_foreign_mod) } }; @@ -4195,14 +4193,14 @@ impl Parser { // extern mod foo { ... } or extern { ... } if items_allowed && self.eat(&token::LBRACE) { // `extern mod foo { ... }` is obsolete. - if sort == ast::named { + if named { self.obsolete(*self.last_span, ObsoleteNamedExternModule); } let abis = opt_abis.unwrap_or(AbiSet::C()); let (inner, next) = self.parse_inner_attrs_and_next(); - let m = self.parse_foreign_mod_items(sort, abis, next); + let m = self.parse_foreign_mod_items(abis, next); self.expect(&token::RBRACE); return iovi_item(self.mk_item(lo, diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 74d5e1a6d27..607eb81102f 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -539,14 +539,6 @@ pub fn print_item(s: @ps, item: &ast::item) { ast::item_foreign_mod(ref nmod) => { head(s, "extern"); word_nbsp(s, nmod.abis.to_str()); - match nmod.sort { - ast::named => { - word_nbsp(s, "mod"); - print_ident(s, item.ident); - nbsp(s); - } - ast::anonymous => {} - } bopen(s); print_foreign_mod(s, nmod, item.attrs); bclose(s, item.span); |
