summaryrefslogtreecommitdiff
path: root/src/rewriter.mli
diff options
context:
space:
mode:
authorThomas Bauereiss2020-03-22 18:21:57 +0000
committerThomas Bauereiss2020-04-21 01:04:21 +0100
commit4b6ffe96896f56d538dc9115c1d1b04156ab34a5 (patch)
tree1c3dc102e5216986607cddd5ec8f124133a8c57e /src/rewriter.mli
parent3d895704db4689f832180782ab30f1805804e2b3 (diff)
Be more careful about type annotations in rewrites to Lem
In particular, don't add annotations for types with existentially quantified variables that only occur in constraints, not in the type, e.g. {'i1 'i2, 'i1 == div('i2, 8). int('i1)}. These seem to confuse the type checker when pulled out into the source AST.
Diffstat (limited to 'src/rewriter.mli')
-rw-r--r--src/rewriter.mli6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/rewriter.mli b/src/rewriter.mli
index 85f00453..f61bcc66 100644
--- a/src/rewriter.mli
+++ b/src/rewriter.mli
@@ -231,9 +231,11 @@ val pure_exp_alg : 'b -> ('b -> 'b -> 'b) ->
val simple_annot : Parse_ast.l -> typ -> Parse_ast.l * tannot
-val add_p_typ : typ -> tannot pat -> tannot pat
+val add_p_typ : Env.t -> typ -> 'a pat -> 'a pat
-val add_e_cast : typ -> tannot exp -> tannot exp
+val add_e_cast : Env.t -> typ -> 'a exp -> 'a exp
+
+val add_typs_let : Env.t -> typ -> typ -> 'a exp -> 'a exp
val effect_of_pexp : tannot pexp -> effect