提交 f210deae 编写于 作者: G Graydon Hoare

Merge branch 'incoming' of github.com:/mozilla/rust into incoming

Conflicts:
	src/snapshots.txt
......@@ -39,11 +39,22 @@ fn filter_item(cx: ctxt, &&item: @ast::item) ->
if item_in_cfg(cx, item) { option::some(item) } else { option::none }
}
fn filter_view_item(cx: ctxt, &&view_item: @ast::view_item
)-> option<@ast::view_item> {
if view_item_in_cfg(cx, view_item) {
option::some(view_item)
} else {
option::none
}
}
fn fold_mod(cx: ctxt, m: ast::_mod, fld: fold::ast_fold) ->
ast::_mod {
let filter = |a| filter_item(cx, a);
let filtered_items = vec::filter_map(m.items, filter);
ret {view_items: vec::map(m.view_items, fld.fold_view_item),
let item_filter = |a| filter_item(cx, a);
let filtered_items = vec::filter_map(m.items, item_filter);
let view_item_filter = |a| filter_view_item(cx, a);
let filtered_view_items = vec::filter_map(m.view_items, view_item_filter);
ret {view_items: vec::map(filtered_view_items, fld.fold_view_item),
items: vec::map(filtered_items, fld.fold_item)};
}
......@@ -56,9 +67,12 @@ fn filter_foreign_item(cx: ctxt, &&item: @ast::foreign_item) ->
fn fold_foreign_mod(cx: ctxt, nm: ast::foreign_mod,
fld: fold::ast_fold) -> ast::foreign_mod {
let filter = |a| filter_foreign_item(cx, a);
let filtered_items = vec::filter_map(nm.items, filter);
ret {view_items: vec::map(nm.view_items, fld.fold_view_item),
let item_filter = |a| filter_foreign_item(cx, a);
let filtered_items = vec::filter_map(nm.items, item_filter);
let view_item_filter = |a| filter_view_item(cx, a);
let filtered_view_items = vec::filter_map(
nm.view_items, view_item_filter);
ret {view_items: vec::map(filtered_view_items, fld.fold_view_item),
items: filtered_items};
}
......@@ -98,6 +112,10 @@ fn foreign_item_in_cfg(cx: ctxt, item: @ast::foreign_item) -> bool {
ret cx.in_cfg(item.attrs);
}
fn view_item_in_cfg(cx: ctxt, item: @ast::view_item) -> bool {
ret cx.in_cfg(item.attrs);
}
// Determine if an item should be translated in the current crate
// configuration based on the item's attributes
fn in_cfg(cfg: ast::crate_cfg, attrs: ~[ast::attribute]) -> bool {
......
......@@ -60,6 +60,7 @@ fn each_key(&&f: fn(&&int) -> bool) {
fn each_value(&&f: fn(&&bool) -> bool) {
for self.each |_k, v| { if !f(v) { break; } again;};
}
fn clear() { }
}
fn main() {
......
......@@ -82,6 +82,7 @@ fn each_key(&&f: fn(&&int) -> bool) {
fn each_value(&&f: fn(&&T) -> bool) {
for self.each |_k, v| { if !f(v) { break; } again;};
}
fn clear() { }
}
......
// xfail-fast
// aux-build:cci_class_6.rs
use cci_class_6;
import cci_class_6::kitties::*;
......
......@@ -87,3 +87,13 @@ mod test_foreign_items {
fn vec_from_buf_shared();
}
}
mod test_use_statements {
#[cfg(bogus)]
use flippity_foo;
extern mod rustrt {
#[cfg(bogus)]
use flippity_foo;
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册