diff options
| author | Thomas Bauereiss | 2020-03-22 18:21:57 +0000 |
|---|---|---|
| committer | Thomas Bauereiss | 2020-04-21 01:04:21 +0100 |
| commit | 4b6ffe96896f56d538dc9115c1d1b04156ab34a5 (patch) | |
| tree | 1c3dc102e5216986607cddd5ec8f124133a8c57e /src/rewriter.mli | |
| parent | 3d895704db4689f832180782ab30f1805804e2b3 (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.mli | 6 |
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 |
