aboutsummaryrefslogtreecommitdiff
path: root/src/boot/me/resolve.ml
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-10-12 12:28:46 -0700
committerGraydon Hoare <[email protected]>2010-10-12 12:28:46 -0700
commitbeb4c07e26794dde482b4de85107f1e078375036 (patch)
tree84bff2b8cddc28b6f0020c9dffc1e6dacec873cb /src/boot/me/resolve.ml
parentChanges to make rustboot compile on OCaml 3.12 (diff)
downloadrust-beb4c07e26794dde482b4de85107f1e078375036.tar.xz
rust-beb4c07e26794dde482b4de85107f1e078375036.zip
Git index wins again.
Diffstat (limited to 'src/boot/me/resolve.ml')
-rw-r--r--src/boot/me/resolve.ml20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/boot/me/resolve.ml b/src/boot/me/resolve.ml
index 879601fb..78d372d5 100644
--- a/src/boot/me/resolve.ml
+++ b/src/boot/me/resolve.ml
@@ -113,10 +113,11 @@ let stmt_collecting_visitor
visit_for_block f.Ast.for_slot f.Ast.for_body.id
| Ast.STMT_for_each f ->
visit_for_block f.Ast.for_each_slot f.Ast.for_each_head.id
- | Ast.STMT_alt_tag { Ast.alt_tag_arms = arms; _ } ->
+ | Ast.STMT_alt_tag { Ast.alt_tag_arms = arms;
+ Ast.alt_tag_lval = _ } ->
let rec resolve_pat block pat =
match pat with
- Ast.PAT_slot ({ id = slot_id; _ }, ident) ->
+ Ast.PAT_slot ({ id = slot_id; node = _ }, ident) ->
let slots = Hashtbl.find cx.ctxt_block_slots block.id in
let key = Ast.KEY_ident ident in
htab_put slots key slot_id;
@@ -125,7 +126,8 @@ let stmt_collecting_visitor
| Ast.PAT_lit _
| Ast.PAT_wild -> ()
in
- Array.iter (fun { node = (p, b); _ } -> resolve_pat b p) arms
+ Array.iter (fun { node = (p, b); id = _ } ->
+ resolve_pat b p) arms
| _ -> ()
end;
inner.Walk.visit_stmt_pre stmt
@@ -236,8 +238,10 @@ let lookup_type_node_by_name
None -> err None "unknown name: %a" Ast.sprintf_name name
| Some (_, id) ->
match htab_search cx.ctxt_all_defns id with
- Some (DEFN_item { Ast.decl_item = Ast.MOD_ITEM_type _; _ })
- | Some (DEFN_item { Ast.decl_item = Ast.MOD_ITEM_obj _; _ })
+ Some (DEFN_item { Ast.decl_item = Ast.MOD_ITEM_type _;
+ Ast.decl_params = _ })
+ | Some (DEFN_item { Ast.decl_item = Ast.MOD_ITEM_obj _;
+ Ast.decl_params = _ })
| Some (DEFN_ty_param _) -> id
| _ ->
err None "Found non-type binding for %a"
@@ -645,8 +649,8 @@ let lval_base_resolving_visitor
let reference_any_name lv =
let rec lval_is_name lv =
match lv with
- Ast.LVAL_base {node = Ast.BASE_ident _; _}
- | Ast.LVAL_base {node = Ast.BASE_app _; _} -> true
+ Ast.LVAL_base {node = Ast.BASE_ident _; id = _}
+ | Ast.LVAL_base {node = Ast.BASE_app _; id = _} -> true
| Ast.LVAL_ext (lv', Ast.COMP_named (Ast.COMP_ident _))
| Ast.LVAL_ext (lv', Ast.COMP_named (Ast.COMP_app _))
-> lval_is_name lv'
@@ -749,7 +753,7 @@ let pattern_resolving_visitor
end
in
- let resolve_arm { node = arm; _ } =
+ let resolve_arm { node = arm; id = _ } =
match fst arm with
Ast.PAT_tag (lval, pats) ->
let lval_nm = lval_to_name lval in