summaryrefslogtreecommitdiff
path: root/compiler/Invariants.ml
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/Invariants.ml')
-rw-r--r--compiler/Invariants.ml16
1 files changed, 8 insertions, 8 deletions
diff --git a/compiler/Invariants.ml b/compiler/Invariants.ml
index 18a1c835..ff7fa1fc 100644
--- a/compiler/Invariants.ml
+++ b/compiler/Invariants.ml
@@ -46,7 +46,7 @@ let borrows_infos_to_string (indent : string)
(infos : borrow_info V.BorrowId.Map.t) : string =
V.BorrowId.Map.to_string (Some indent) show_borrow_info infos
-type borrow_kind = Mut | Shared | Inactivated
+type borrow_kind = Mut | Shared | Reserved
(** Check that:
- loans and borrows are correctly related
@@ -217,10 +217,10 @@ let check_loans_borrows_relation_invariant (ctx : C.eval_ctx) : unit =
let info = find_info bid in
(* Check that the borrow kind is consistent *)
(match (info.loan_kind, kind) with
- | T.Shared, (Shared | Inactivated) | T.Mut, Mut -> ()
+ | T.Shared, (Shared | Reserved) | T.Mut, Mut -> ()
| _ -> raise (Failure "Invariant not satisfied"));
- (* An inactivated borrow can't point to a value inside an abstraction *)
- assert (kind <> Inactivated || not info.loan_in_abs);
+ (* An reserved borrow can't point to a value inside an abstraction *)
+ assert (kind <> Reserved || not info.loan_in_abs);
(* Insert the borrow id *)
let borrow_ids = info.borrow_ids in
assert (not (V.BorrowId.Set.mem bid borrow_ids));
@@ -247,7 +247,7 @@ let check_loans_borrows_relation_invariant (ctx : C.eval_ctx) : unit =
match bc with
| V.SharedBorrow (_, bid) -> register_borrow Shared bid
| V.MutBorrow (bid, _) -> register_borrow Mut bid
- | V.InactivatedMutBorrow (_, bid) -> register_borrow Inactivated bid
+ | V.ReservedMutBorrow (_, bid) -> register_borrow Reserved bid
in
(* Continue exploring *)
super#visit_borrow_content env bc
@@ -298,7 +298,7 @@ let check_loans_borrows_relation_invariant (ctx : C.eval_ctx) : unit =
!borrows_infos
(** Check that:
- - borrows/loans can't contain ⊥ or inactivated mut borrows
+ - borrows/loans can't contain ⊥ or reserved mut borrows
- shared loans can't contain mutable loans
*)
let check_borrowed_values_invariant (config : C.config) (ctx : C.eval_ctx) :
@@ -333,7 +333,7 @@ let check_borrowed_values_invariant (config : C.config) (ctx : C.eval_ctx) :
let info =
match bc with
| V.SharedBorrow _ -> set_outer_shared info
- | V.InactivatedMutBorrow _ ->
+ | V.ReservedMutBorrow _ ->
assert (not info.outer_borrow);
set_outer_shared info
| V.MutBorrow (_, _) -> set_outer_mut info
@@ -463,7 +463,7 @@ let check_typing_invariant (ctx : C.eval_ctx) : unit =
| V.Borrow bc, T.Ref (_, ref_ty, rkind) -> (
match (bc, rkind) with
| V.SharedBorrow (_, bid), T.Shared
- | V.InactivatedMutBorrow (_, bid), T.Mut -> (
+ | V.ReservedMutBorrow (_, bid), T.Mut -> (
(* Lookup the borrowed value to check it has the proper type *)
let _, glc = lookup_loan ek_all bid ctx in
match glc with