summaryrefslogtreecommitdiff
path: root/compiler/InterpreterProjectors.mli
diff options
context:
space:
mode:
authorSon HO2024-03-29 18:02:40 +0100
committerGitHub2024-03-29 18:02:40 +0100
commitf4a89caad1459f2f72295c5baa284fe1f9b4c39f (patch)
tree70237cbc5ff7e0868c9b6918cae21f9bc8ba6272 /compiler/InterpreterProjectors.mli
parentbfcec191f68a4cbfab14f5b92a8d6a46d6b02539 (diff)
parent1a86cac476c1f5c0d64d5a12db267d3ac651561b (diff)
Merge pull request #95 from AeneasVerif/escherichia/errors
Escherichia/errors
Diffstat (limited to '')
-rw-r--r--compiler/InterpreterProjectors.mli18
1 files changed, 14 insertions, 4 deletions
diff --git a/compiler/InterpreterProjectors.mli b/compiler/InterpreterProjectors.mli
index 9e4ebc20..17569ac8 100644
--- a/compiler/InterpreterProjectors.mli
+++ b/compiler/InterpreterProjectors.mli
@@ -15,11 +15,16 @@ open Contexts
[original_sv_ty]: shouldn't have erased regions
*)
val apply_proj_loans_on_symbolic_expansion :
- RegionId.Set.t -> RegionId.Set.t -> symbolic_expansion -> rty -> typed_avalue
+ Meta.meta ->
+ RegionId.Set.t ->
+ RegionId.Set.t ->
+ symbolic_expansion ->
+ rty ->
+ typed_avalue
(** Convert a symbolic expansion *which is not a borrow* to a value *)
val symbolic_expansion_non_borrow_to_value :
- symbolic_value -> symbolic_expansion -> typed_value
+ Meta.meta -> symbolic_value -> symbolic_expansion -> typed_value
(** Convert a symbolic expansion *which is not a shared borrow* to a value.
@@ -28,7 +33,7 @@ val symbolic_expansion_non_borrow_to_value :
during a symbolic expansion.
*)
val symbolic_expansion_non_shared_borrow_to_value :
- symbolic_value -> symbolic_expansion -> typed_value
+ Meta.meta -> symbolic_value -> symbolic_expansion -> typed_value
(** Auxiliary function to prepare reborrowing operations (used when
applying projectors).
@@ -43,7 +48,10 @@ val symbolic_expansion_non_shared_borrow_to_value :
- [allow_reborrows]
*)
val prepare_reborrows :
- config -> bool -> (BorrowId.id -> BorrowId.id) * (eval_ctx -> eval_ctx)
+ config ->
+ Meta.meta ->
+ bool ->
+ (BorrowId.id -> BorrowId.id) * (eval_ctx -> eval_ctx)
(** Apply (and reduce) a projector over borrows to an avalue.
We use this for instance to spread the borrows present in the inputs
@@ -96,6 +104,7 @@ val prepare_reborrows :
then we interpret the borrow [l] as belonging to region [r]
*)
val apply_proj_borrows :
+ Meta.meta ->
bool ->
eval_ctx ->
(BorrowId.id -> BorrowId.id) ->
@@ -116,6 +125,7 @@ val apply_proj_borrows :
*)
val apply_proj_borrows_on_input_value :
config ->
+ Meta.meta ->
eval_ctx ->
RegionId.Set.t ->
RegionId.Set.t ->