Remove empty argument lists from do expressions
This commit is contained in:
parent
718849b202
commit
f2e2a14f36
62 changed files with 265 additions and 265 deletions
|
|
@ -211,7 +211,7 @@ fn monitor(+f: fn~(diagnostic::emitter)) {
|
|||
let p = comm::port();
|
||||
let ch = comm::chan(p);
|
||||
|
||||
alt do task::try || {
|
||||
alt do task::try {
|
||||
|
||||
// The 'diagnostics emitter'. Every error, warning, etc. should
|
||||
// go through this function.
|
||||
|
|
|
|||
|
|
@ -87,20 +87,20 @@ fn encode_name_and_def_id(ebml_w: ebml::writer, nm: ident,
|
|||
}
|
||||
|
||||
fn encode_region_param(ebml_w: ebml::writer, rp: region_param) {
|
||||
do ebml_w.wr_tag(tag_region_param) || {
|
||||
do ebml_w.wr_tag(tag_region_param) {
|
||||
serialize_region_param(ebml_w, rp)
|
||||
}
|
||||
}
|
||||
|
||||
fn encode_named_def_id(ebml_w: ebml::writer, name: ident, id: def_id) {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) || {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) {
|
||||
encode_name(ebml_w, name);
|
||||
encode_def_id(ebml_w, id);
|
||||
}
|
||||
}
|
||||
|
||||
fn encode_mutability(ebml_w: ebml::writer, mt: class_mutability) {
|
||||
do ebml_w.wr_tag(tag_class_mut) || {
|
||||
do ebml_w.wr_tag(tag_class_mut) {
|
||||
ebml_w.writer.write(&[alt mt { class_immutable { 'i' }
|
||||
class_mutable { 'm' } } as u8]);
|
||||
}
|
||||
|
|
@ -112,7 +112,7 @@ fn encode_enum_variant_paths(ebml_w: ebml::writer, variants: ~[variant],
|
|||
path: ~[ident], &index: ~[entry<str>]) {
|
||||
for variants.each |variant| {
|
||||
add_to_index(ebml_w, path, index, variant.node.name);
|
||||
do ebml_w.wr_tag(tag_paths_data_item) || {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) {
|
||||
encode_name(ebml_w, variant.node.name);
|
||||
encode_def_id(ebml_w, local_def(variant.node.id));
|
||||
}
|
||||
|
|
@ -170,7 +170,7 @@ fn encode_module_item_paths(ebml_w: ebml::writer, ecx: @encode_ctxt,
|
|||
encode_named_def_id(ebml_w, it.ident, local_def(it.id));
|
||||
}
|
||||
item_mod(_mod) {
|
||||
do ebml_w.wr_tag(tag_paths_data_mod) || {
|
||||
do ebml_w.wr_tag(tag_paths_data_mod) {
|
||||
encode_name_and_def_id(ebml_w, it.ident, it.id);
|
||||
encode_module_item_paths(ebml_w, ecx, _mod,
|
||||
vec::append_one(path, it.ident),
|
||||
|
|
@ -178,7 +178,7 @@ fn encode_module_item_paths(ebml_w: ebml::writer, ecx: @encode_ctxt,
|
|||
}
|
||||
}
|
||||
item_foreign_mod(nmod) {
|
||||
do ebml_w.wr_tag(tag_paths_data_mod) || {
|
||||
do ebml_w.wr_tag(tag_paths_data_mod) {
|
||||
encode_name_and_def_id(ebml_w, it.ident, it.id);
|
||||
encode_foreign_module_item_paths(
|
||||
ebml_w, nmod,
|
||||
|
|
@ -186,15 +186,15 @@ fn encode_module_item_paths(ebml_w: ebml::writer, ecx: @encode_ctxt,
|
|||
}
|
||||
}
|
||||
item_ty(_, tps, _) {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) || {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) {
|
||||
encode_name_and_def_id(ebml_w, it.ident, it.id);
|
||||
}
|
||||
}
|
||||
item_class(_, _, items, ctor, m_dtor, _) {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) || {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) {
|
||||
encode_name_and_def_id(ebml_w, it.ident, it.id);
|
||||
}
|
||||
do ebml_w.wr_tag(tag_paths) || {
|
||||
do ebml_w.wr_tag(tag_paths) {
|
||||
// We add the same ident twice: for the
|
||||
// class and for its ctor
|
||||
add_to_index(ebml_w, path, index, it.ident);
|
||||
|
|
@ -206,13 +206,13 @@ fn encode_module_item_paths(ebml_w: ebml::writer, ecx: @encode_ctxt,
|
|||
}
|
||||
}
|
||||
item_enum(variants, _, _) {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) || {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) {
|
||||
encode_name_and_def_id(ebml_w, it.ident, it.id);
|
||||
}
|
||||
encode_enum_variant_paths(ebml_w, variants, path, index);
|
||||
}
|
||||
item_iface(*) {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) || {
|
||||
do ebml_w.wr_tag(tag_paths_data_item) {
|
||||
encode_name_and_def_id(ebml_w, it.ident, it.id);
|
||||
}
|
||||
}
|
||||
|
|
@ -372,7 +372,7 @@ fn encode_path(ebml_w: ebml::writer,
|
|||
ebml_w.wr_tagged_str(tag, *name);
|
||||
}
|
||||
|
||||
do ebml_w.wr_tag(tag_path) || {
|
||||
do ebml_w.wr_tag(tag_path) {
|
||||
ebml_w.wr_tagged_u32(tag_path_len, (vec::len(path) + 1u) as u32);
|
||||
do vec::iter(path) |pe| { encode_path_elt(ebml_w, pe); }
|
||||
encode_path_elt(ebml_w, name);
|
||||
|
|
@ -606,7 +606,7 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: ebml::writer, item: @item,
|
|||
}
|
||||
item_enum(variants, tps, rp) {
|
||||
add_to_index();
|
||||
do ebml_w.wr_tag(tag_items_data_item) || {
|
||||
do ebml_w.wr_tag(tag_items_data_item) {
|
||||
encode_def_id(ebml_w, local_def(item.id));
|
||||
encode_family(ebml_w, 't');
|
||||
encode_type_param_bounds(ebml_w, ecx, tps);
|
||||
|
|
@ -656,7 +656,7 @@ fn encode_info_for_item(ecx: @encode_ctxt, ebml_w: ebml::writer, item: @item,
|
|||
/* Encode the dtor */
|
||||
/* Encode id for dtor */
|
||||
do option::iter(m_dtor) |dtor| {
|
||||
do ebml_w.wr_tag(tag_item_dtor) || {
|
||||
do ebml_w.wr_tag(tag_item_dtor) {
|
||||
encode_def_id(ebml_w, local_def(dtor.node.id));
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ fn encode_inlined_item(ecx: @e::encode_ctxt,
|
|||
ebml_w.writer.tell()];
|
||||
|
||||
let id_range = ast_util::compute_id_range_for_inlined_item(ii);
|
||||
do ebml_w.wr_tag(c::tag_ast as uint) || {
|
||||
do ebml_w.wr_tag(c::tag_ast as uint) {
|
||||
ast_util::serialize_id_range(ebml_w, id_range);
|
||||
encode_ast(ebml_w, simplify_ast(ii));
|
||||
encode_side_tables_for_ii(ecx, maps, ebml_w, ii);
|
||||
|
|
@ -210,7 +210,7 @@ impl deserializer_helpers<D: deserializer> for D {
|
|||
// but eventually we should add entries to the local codemap as required.
|
||||
|
||||
fn encode_ast(ebml_w: ebml::writer, item: ast::inlined_item) {
|
||||
do ebml_w.wr_tag(c::tag_tree as uint) || {
|
||||
do ebml_w.wr_tag(c::tag_tree as uint) {
|
||||
ast::serialize_inlined_item(ebml_w, item)
|
||||
}
|
||||
}
|
||||
|
|
@ -433,37 +433,37 @@ fn encode_vtable_res(ecx: @e::encode_ctxt,
|
|||
fn encode_vtable_origin(ecx: @e::encode_ctxt,
|
||||
ebml_w: ebml::writer,
|
||||
vtable_origin: typeck::vtable_origin) {
|
||||
do ebml_w.emit_enum("vtable_origin") || {
|
||||
do ebml_w.emit_enum("vtable_origin") {
|
||||
alt vtable_origin {
|
||||
typeck::vtable_static(def_id, tys, vtable_res) {
|
||||
do ebml_w.emit_enum_variant("vtable_static", 0u, 3u) || {
|
||||
do ebml_w.emit_enum_variant_arg(0u) || {
|
||||
do ebml_w.emit_enum_variant("vtable_static", 0u, 3u) {
|
||||
do ebml_w.emit_enum_variant_arg(0u) {
|
||||
ebml_w.emit_def_id(def_id)
|
||||
}
|
||||
do ebml_w.emit_enum_variant_arg(1u) || {
|
||||
do ebml_w.emit_enum_variant_arg(1u) {
|
||||
ebml_w.emit_tys(ecx, tys);
|
||||
}
|
||||
do ebml_w.emit_enum_variant_arg(2u) || {
|
||||
do ebml_w.emit_enum_variant_arg(2u) {
|
||||
encode_vtable_res(ecx, ebml_w, vtable_res);
|
||||
}
|
||||
}
|
||||
}
|
||||
typeck::vtable_param(pn, bn) {
|
||||
do ebml_w.emit_enum_variant("vtable_param", 1u, 2u) || {
|
||||
do ebml_w.emit_enum_variant_arg(0u) || {
|
||||
do ebml_w.emit_enum_variant("vtable_param", 1u, 2u) {
|
||||
do ebml_w.emit_enum_variant_arg(0u) {
|
||||
ebml_w.emit_uint(pn);
|
||||
}
|
||||
do ebml_w.emit_enum_variant_arg(1u) || {
|
||||
do ebml_w.emit_enum_variant_arg(1u) {
|
||||
ebml_w.emit_uint(bn);
|
||||
}
|
||||
}
|
||||
}
|
||||
typeck::vtable_iface(def_id, tys) {
|
||||
do ebml_w.emit_enum_variant("vtable_iface", 1u, 3u) || {
|
||||
do ebml_w.emit_enum_variant_arg(0u) || {
|
||||
do ebml_w.emit_enum_variant("vtable_iface", 1u, 3u) {
|
||||
do ebml_w.emit_enum_variant_arg(0u) {
|
||||
ebml_w.emit_def_id(def_id)
|
||||
}
|
||||
do ebml_w.emit_enum_variant_arg(1u) || {
|
||||
do ebml_w.emit_enum_variant_arg(1u) {
|
||||
ebml_w.emit_tys(ecx, tys);
|
||||
}
|
||||
}
|
||||
|
|
@ -480,38 +480,38 @@ impl helpers for ebml::ebml_deserializer {
|
|||
|
||||
fn read_vtable_origin(xcx: extended_decode_ctxt)
|
||||
-> typeck::vtable_origin {
|
||||
do self.read_enum("vtable_origin") || {
|
||||
do self.read_enum("vtable_origin") {
|
||||
do self.read_enum_variant |i| {
|
||||
alt check i {
|
||||
0u {
|
||||
typeck::vtable_static(
|
||||
do self.read_enum_variant_arg(0u) || {
|
||||
do self.read_enum_variant_arg(0u) {
|
||||
self.read_def_id(xcx)
|
||||
},
|
||||
do self.read_enum_variant_arg(1u) || {
|
||||
do self.read_enum_variant_arg(1u) {
|
||||
self.read_tys(xcx)
|
||||
},
|
||||
do self.read_enum_variant_arg(2u) || {
|
||||
do self.read_enum_variant_arg(2u) {
|
||||
self.read_vtable_res(xcx)
|
||||
}
|
||||
)
|
||||
}
|
||||
1u {
|
||||
typeck::vtable_param(
|
||||
do self.read_enum_variant_arg(0u) || {
|
||||
do self.read_enum_variant_arg(0u) {
|
||||
self.read_uint()
|
||||
},
|
||||
do self.read_enum_variant_arg(1u) || {
|
||||
do self.read_enum_variant_arg(1u) {
|
||||
self.read_uint()
|
||||
}
|
||||
)
|
||||
}
|
||||
2u {
|
||||
typeck::vtable_iface(
|
||||
do self.read_enum_variant_arg(0u) || {
|
||||
do self.read_enum_variant_arg(0u) {
|
||||
self.read_def_id(xcx)
|
||||
},
|
||||
do self.read_enum_variant_arg(1u) || {
|
||||
do self.read_enum_variant_arg(1u) {
|
||||
self.read_tys(xcx)
|
||||
}
|
||||
)
|
||||
|
|
@ -551,16 +551,16 @@ impl helpers for ebml::writer {
|
|||
}
|
||||
|
||||
fn emit_tpbt(ecx: @e::encode_ctxt, tpbt: ty::ty_param_bounds_and_ty) {
|
||||
do self.emit_rec || {
|
||||
do self.emit_rec_field("bounds", 0u) || {
|
||||
do self.emit_rec {
|
||||
do self.emit_rec_field("bounds", 0u) {
|
||||
do self.emit_from_vec(*tpbt.bounds) |bs| {
|
||||
self.emit_bounds(ecx, bs)
|
||||
}
|
||||
}
|
||||
do self.emit_rec_field("rp", 1u) || {
|
||||
do self.emit_rec_field("rp", 1u) {
|
||||
ast::serialize_region_param(self, tpbt.rp)
|
||||
}
|
||||
do self.emit_rec_field("ty", 2u) || {
|
||||
do self.emit_rec_field("ty", 2u) {
|
||||
self.emit_ty(ecx, tpbt.ty);
|
||||
}
|
||||
}
|
||||
|
|
@ -569,7 +569,7 @@ impl helpers for ebml::writer {
|
|||
|
||||
impl writer for ebml::writer {
|
||||
fn tag(tag_id: c::astencode_tag, f: fn()) {
|
||||
do self.wr_tag(tag_id as uint) || { f() }
|
||||
do self.wr_tag(tag_id as uint) { f() }
|
||||
}
|
||||
|
||||
fn id(id: ast::node_id) {
|
||||
|
|
@ -581,7 +581,7 @@ fn encode_side_tables_for_ii(ecx: @e::encode_ctxt,
|
|||
maps: maps,
|
||||
ebml_w: ebml::writer,
|
||||
ii: ast::inlined_item) {
|
||||
do ebml_w.wr_tag(c::tag_table as uint) || {
|
||||
do ebml_w.wr_tag(c::tag_table as uint) {
|
||||
ast_util::visit_ids_for_inlined_item(
|
||||
ii,
|
||||
fn@(id: ast::node_id, copy ebml_w) {
|
||||
|
|
@ -602,35 +602,35 @@ fn encode_side_tables_for_id(ecx: @e::encode_ctxt,
|
|||
#debug["Encoding side tables for id %d", id];
|
||||
|
||||
do option::iter(tcx.def_map.find(id)) |def| {
|
||||
do ebml_w.tag(c::tag_table_def) || {
|
||||
do ebml_w.tag(c::tag_table_def) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
ast::serialize_def(ebml_w, def)
|
||||
}
|
||||
}
|
||||
}
|
||||
do option::iter((*tcx.node_types).find(id as uint)) |ty| {
|
||||
do ebml_w.tag(c::tag_table_node_type) || {
|
||||
do ebml_w.tag(c::tag_table_node_type) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
e::write_type(ecx, ebml_w, ty)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
do option::iter(tcx.node_type_substs.find(id)) |tys| {
|
||||
do ebml_w.tag(c::tag_table_node_type_subst) || {
|
||||
do ebml_w.tag(c::tag_table_node_type_subst) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
ebml_w.emit_tys(ecx, tys)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
do option::iter(tcx.freevars.find(id)) |fv| {
|
||||
do ebml_w.tag(c::tag_table_freevars) || {
|
||||
do ebml_w.tag(c::tag_table_freevars) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
do ebml_w.emit_from_vec(*fv) |fv_entry| {
|
||||
encode_freevar_entry(ebml_w, *fv_entry)
|
||||
}
|
||||
|
|
@ -640,18 +640,18 @@ fn encode_side_tables_for_id(ecx: @e::encode_ctxt,
|
|||
|
||||
let lid = {crate: ast::local_crate, node: id};
|
||||
do option::iter(tcx.tcache.find(lid)) |tpbt| {
|
||||
do ebml_w.tag(c::tag_table_tcache) || {
|
||||
do ebml_w.tag(c::tag_table_tcache) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
ebml_w.emit_tpbt(ecx, tpbt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
do option::iter(tcx.ty_param_bounds.find(id)) |pbs| {
|
||||
do ebml_w.tag(c::tag_table_param_bounds) || {
|
||||
do ebml_w.tag(c::tag_table_param_bounds) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
ebml_w.emit_bounds(ecx, pbs)
|
||||
}
|
||||
}
|
||||
|
|
@ -672,15 +672,15 @@ fn encode_side_tables_for_id(ecx: @e::encode_ctxt,
|
|||
//}
|
||||
|
||||
do option::iter(maps.mutbl_map.find(id)) |_m| {
|
||||
do ebml_w.tag(c::tag_table_mutbl) || {
|
||||
do ebml_w.tag(c::tag_table_mutbl) {
|
||||
ebml_w.id(id);
|
||||
}
|
||||
}
|
||||
|
||||
do option::iter(maps.last_use_map.find(id)) |m| {
|
||||
do ebml_w.tag(c::tag_table_last_use) || {
|
||||
do ebml_w.tag(c::tag_table_last_use) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
do ebml_w.emit_from_vec((*m).get()) |id| {
|
||||
ebml_w.emit_int(id);
|
||||
}
|
||||
|
|
@ -692,27 +692,27 @@ fn encode_side_tables_for_id(ecx: @e::encode_ctxt,
|
|||
// don't need to keep it.
|
||||
|
||||
do option::iter(maps.method_map.find(id)) |mme| {
|
||||
do ebml_w.tag(c::tag_table_method_map) || {
|
||||
do ebml_w.tag(c::tag_table_method_map) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
serialize_method_map_entry(ebml_w, mme)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
do option::iter(maps.vtable_map.find(id)) |dr| {
|
||||
do ebml_w.tag(c::tag_table_vtable_map) || {
|
||||
do ebml_w.tag(c::tag_table_vtable_map) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
encode_vtable_res(ecx, ebml_w, dr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
do option::iter(tcx.borrowings.find(id)) |borrow| {
|
||||
do ebml_w.tag(c::tag_table_borrowings) || {
|
||||
do ebml_w.tag(c::tag_table_borrowings) {
|
||||
ebml_w.id(id);
|
||||
do ebml_w.tag(c::tag_table_val) || {
|
||||
do ebml_w.tag(c::tag_table_val) {
|
||||
ty::serialize_borrow(ebml_w, borrow)
|
||||
}
|
||||
}
|
||||
|
|
@ -753,7 +753,7 @@ impl decoder for ebml::ebml_deserializer {
|
|||
|
||||
fn read_ty_param_bounds_and_ty(xcx: extended_decode_ctxt)
|
||||
-> ty::ty_param_bounds_and_ty {
|
||||
do self.read_rec || {
|
||||
do self.read_rec {
|
||||
{
|
||||
bounds: self.read_rec_field("bounds", 0u, || {
|
||||
@self.read_to_vec(|| self.read_bounds(xcx) )
|
||||
|
|
@ -838,7 +838,7 @@ fn decode_side_tables(xcx: extended_decode_ctxt,
|
|||
|
||||
#[cfg(test)]
|
||||
fn encode_item_ast(ebml_w: ebml::writer, item: @ast::item) {
|
||||
do ebml_w.wr_tag(c::tag_tree as uint) || {
|
||||
do ebml_w.wr_tag(c::tag_tree as uint) {
|
||||
ast::serialize_item(ebml_w, *item);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -508,9 +508,9 @@ fn check_loans_in_fn(fk: visit::fn_kind, decl: ast::fn_decl, body: ast::blk,
|
|||
visitor: visit::vt<check_loan_ctxt>) {
|
||||
|
||||
#debug["purity on entry=%?", copy self.declared_purity];
|
||||
do save_and_restore(self.in_ctor) || {
|
||||
do save_and_restore(self.declared_purity) || {
|
||||
do save_and_restore(self.fn_args) || {
|
||||
do save_and_restore(self.in_ctor) {
|
||||
do save_and_restore(self.declared_purity) {
|
||||
do save_and_restore(self.fn_args) {
|
||||
let is_stack_closure = self.is_stack_closure(id);
|
||||
|
||||
// In principle, we could consider fk_anon(*) or
|
||||
|
|
@ -637,7 +637,7 @@ fn check_loans_in_expr(expr: @ast::expr,
|
|||
fn check_loans_in_block(blk: ast::blk,
|
||||
&&self: check_loan_ctxt,
|
||||
vt: visit::vt<check_loan_ctxt>) {
|
||||
do save_and_restore(self.declared_purity) || {
|
||||
do save_and_restore(self.declared_purity) {
|
||||
self.check_for_conflicting_loans(blk.node.id);
|
||||
|
||||
alt blk.node.rules {
|
||||
|
|
|
|||
|
|
@ -2800,7 +2800,7 @@ class Resolver {
|
|||
|
||||
item_mod(module) {
|
||||
let atom = (*self.atom_table).intern(item.ident);
|
||||
do self.with_scope(some(atom)) || {
|
||||
do self.with_scope(some(atom)) {
|
||||
self.resolve_module(module, item.span, item.ident,
|
||||
item.id, visitor);
|
||||
}
|
||||
|
|
@ -2808,7 +2808,7 @@ class Resolver {
|
|||
|
||||
item_foreign_mod(foreign_module) {
|
||||
let atom = (*self.atom_table).intern(item.ident);
|
||||
do self.with_scope(some(atom)) || {
|
||||
do self.with_scope(some(atom)) {
|
||||
for foreign_module.items.each |foreign_item| {
|
||||
alt foreign_item.node {
|
||||
foreign_item_fn(_, type_parameters) {
|
||||
|
|
@ -2935,7 +2935,7 @@ class Resolver {
|
|||
(*self.value_ribs).push(function_value_rib);
|
||||
|
||||
// If this function has type parameters, add them now.
|
||||
do self.with_type_parameter_rib(type_parameters) || {
|
||||
do self.with_type_parameter_rib(type_parameters) {
|
||||
// Resolve the type parameters.
|
||||
alt type_parameters {
|
||||
NoTypeParameters {
|
||||
|
|
|
|||
|
|
@ -412,7 +412,7 @@ fn ty_of_fn_decl<AC: ast_conv, RS: region_scope copy>(
|
|||
expected_tys: expected_tys) -> ty::fn_ty {
|
||||
|
||||
#debug["ty_of_fn_decl"];
|
||||
do indent || {
|
||||
do indent {
|
||||
// new region names that appear inside of the fn decl are bound to
|
||||
// that function type
|
||||
let rb = in_binding_rscope(rscope);
|
||||
|
|
|
|||
|
|
@ -632,7 +632,7 @@ fn check_expr_with(fcx: @fn_ctxt, expr: @ast::expr, expected: ty::t) -> bool {
|
|||
|
||||
fn check_expr(fcx: @fn_ctxt, expr: @ast::expr,
|
||||
expected: option<ty::t>) -> bool {
|
||||
ret do check_expr_with_unifier(fcx, expr, expected) || {
|
||||
ret do check_expr_with_unifier(fcx, expr, expected) {
|
||||
for expected.each |t| {
|
||||
demand::suptype(fcx, expr.span, t, fcx.expr_ty(expr));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -771,9 +771,9 @@ impl unify_methods for infer_ctxt {
|
|||
// them explicitly gives the type inferencer more
|
||||
// information and helps to produce tighter bounds
|
||||
// when necessary.
|
||||
do indent || {
|
||||
do self.bnds(a.lb, b.ub).then || {
|
||||
do self.bnds(b.lb, a.ub).then || {
|
||||
do indent {
|
||||
do self.bnds(a.lb, b.ub).then {
|
||||
do self.bnds(b.lb, a.ub).then {
|
||||
do self.merge_bnd(a.ub, b.ub, |x, y| x.glb(self, y) ).chain |ub| {
|
||||
do self.merge_bnd(a.lb, b.lb, |x, y| x.lub(self, y) ).chain |lb| {
|
||||
let bnds = {lb: lb, ub: ub};
|
||||
|
|
@ -783,7 +783,7 @@ impl unify_methods for infer_ctxt {
|
|||
|
||||
// the new bounds must themselves
|
||||
// be relatable:
|
||||
do self.bnds(bnds.lb, bnds.ub).then || {
|
||||
do self.bnds(bnds.lb, bnds.ub).then {
|
||||
self.set(vb, v_id, root(bnds, rank));
|
||||
uok()
|
||||
}
|
||||
|
|
@ -1021,7 +1021,7 @@ impl unify_methods for infer_ctxt {
|
|||
a: bound<T>, b: bound<T>) -> ures {
|
||||
|
||||
#debug("bnds(%s <: %s)", a.to_str(self), b.to_str(self));
|
||||
do indent || {
|
||||
do indent {
|
||||
alt (a, b) {
|
||||
(none, none) |
|
||||
(some(_), none) |
|
||||
|
|
@ -1064,8 +1064,8 @@ impl unify_methods for infer_ctxt {
|
|||
fn eq_regions(a: ty::region, b: ty::region) -> ures {
|
||||
#debug["eq_regions(%s, %s)",
|
||||
a.to_str(self), b.to_str(self)];
|
||||
do indent || {
|
||||
do self.sub_regions(a, b).then || {
|
||||
do indent {
|
||||
do self.sub_regions(a, b).then {
|
||||
self.sub_regions(b, a)
|
||||
}
|
||||
}
|
||||
|
|
@ -1457,8 +1457,8 @@ impl assignment for infer_ctxt {
|
|||
anmnt, a.to_str(self), nr_b.to_str(self),
|
||||
r_b.to_str(self)];
|
||||
|
||||
do indent || {
|
||||
do self.sub_tys(a, nr_b).then || {
|
||||
do indent {
|
||||
do self.sub_tys(a, nr_b).then {
|
||||
let r_a = ty::re_scope(anmnt.borrow_scope);
|
||||
#debug["anmnt=%?", anmnt];
|
||||
do sub(self).contraregions(r_a, r_b).chain |_r| {
|
||||
|
|
@ -1559,7 +1559,7 @@ fn super_substs<C:combine>(
|
|||
ok(none)
|
||||
}
|
||||
(some(a), some(b)) {
|
||||
do infcx.eq_regions(a, b).then || {
|
||||
do infcx.eq_regions(a, b).then {
|
||||
ok(some(a))
|
||||
}
|
||||
}
|
||||
|
|
@ -1868,7 +1868,7 @@ fn super_tys<C:combine>(
|
|||
|
||||
(ty::ty_constr(a_t, a_constrs), ty::ty_constr(b_t, b_constrs)) {
|
||||
do self.tys(a_t, b_t).chain |t| {
|
||||
do self.infcx().constrvecs(a_constrs, b_constrs).then || {
|
||||
do self.infcx().constrvecs(a_constrs, b_constrs).then {
|
||||
ok(ty::mk_constr(tcx, t, a_constrs))
|
||||
}
|
||||
}
|
||||
|
|
@ -1897,25 +1897,25 @@ impl of combine for sub {
|
|||
self.tag(),
|
||||
a.to_str(self.infcx()),
|
||||
b.to_str(self.infcx())];
|
||||
do indent || {
|
||||
do indent {
|
||||
alt (a, b) {
|
||||
(ty::re_var(a_id), ty::re_var(b_id)) {
|
||||
do self.infcx().vars(self.rb, a_id, b_id).then || {
|
||||
do self.infcx().vars(self.rb, a_id, b_id).then {
|
||||
ok(a)
|
||||
}
|
||||
}
|
||||
(ty::re_var(a_id), _) {
|
||||
do self.infcx().vart(self.rb, a_id, b).then || {
|
||||
do self.infcx().vart(self.rb, a_id, b).then {
|
||||
ok(a)
|
||||
}
|
||||
}
|
||||
(_, ty::re_var(b_id)) {
|
||||
do self.infcx().tvar(self.rb, a, b_id).then || {
|
||||
do self.infcx().tvar(self.rb, a, b_id).then {
|
||||
ok(a)
|
||||
}
|
||||
}
|
||||
_ {
|
||||
do self.lub().regions(a, b).compare(b) || {
|
||||
do self.lub().regions(a, b).compare(b) {
|
||||
ty::terr_regions_differ(b, a)
|
||||
}
|
||||
}
|
||||
|
|
@ -1965,7 +1965,7 @@ impl of combine for sub {
|
|||
#debug("%s.tys(%s, %s)", self.tag(),
|
||||
a.to_str(*self), b.to_str(*self));
|
||||
if a == b { ret ok(a); }
|
||||
do indent || {
|
||||
do indent {
|
||||
alt (ty::get(a).struct, ty::get(b).struct) {
|
||||
(ty::ty_bot, _) {
|
||||
ok(a)
|
||||
|
|
@ -2144,7 +2144,7 @@ impl of combine for lub {
|
|||
a.to_str(self.infcx()),
|
||||
b.to_str(self.infcx())];
|
||||
|
||||
do indent || {
|
||||
do indent {
|
||||
alt (a, b) {
|
||||
(ty::re_static, _) | (_, ty::re_static) {
|
||||
ok(ty::re_static) // nothing lives longer than static
|
||||
|
|
@ -2341,7 +2341,7 @@ impl of combine for glb {
|
|||
a.to_str(self.infcx()),
|
||||
b.to_str(self.infcx())];
|
||||
|
||||
do indent || {
|
||||
do indent {
|
||||
alt (a, b) {
|
||||
(ty::re_static, r) | (r, ty::re_static) {
|
||||
// static lives longer than everything else
|
||||
|
|
@ -2479,7 +2479,7 @@ fn lattice_tys<L:lattice_ops combine>(
|
|||
a.to_str(self.infcx()),
|
||||
b.to_str(self.infcx()));
|
||||
if a == b { ret ok(a); }
|
||||
do indent || {
|
||||
do indent {
|
||||
alt (ty::get(a).struct, ty::get(b).struct) {
|
||||
(ty::ty_bot, _) { self.ty_bot(b) }
|
||||
(_, ty::ty_bot) { self.ty_bot(a) }
|
||||
|
|
@ -2606,7 +2606,7 @@ fn lattice_var_t<V:copy vid, T:copy to_str st, L:lattice_ops combine>(
|
|||
// and then return b.
|
||||
#debug["bnd=none"];
|
||||
let a_bounds = self.with_bnd(a_bounds, b);
|
||||
do self.infcx().bnds(a_bounds.lb, a_bounds.ub).then || {
|
||||
do self.infcx().bnds(a_bounds.lb, a_bounds.ub).then {
|
||||
self.infcx().set(vb, a_id, root(a_bounds,
|
||||
nde_a.rank));
|
||||
ok(b)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue