diff options
Diffstat (limited to 'contrib')
| -rw-r--r-- | contrib/funind/indfun.ml | 3 | ||||
| -rw-r--r-- | contrib/funind/rawterm_to_relation.ml | 2 | ||||
| -rw-r--r-- | contrib/funind/rawtermops.mli | 2 | ||||
| -rw-r--r-- | contrib/subtac/subtac_pretyping_F.ml | 7 |
4 files changed, 12 insertions, 2 deletions
diff --git a/contrib/funind/indfun.ml b/contrib/funind/indfun.ml index 97f7c1d97a..d3e18371be 100644 --- a/contrib/funind/indfun.ml +++ b/contrib/funind/indfun.ml @@ -601,6 +601,9 @@ let rec add_args id new_args b = add_args id new_args b2 ) + | CLetPattern(loc,p,b,c) -> + CLetPattern(loc,p,add_args id new_args b,add_args id new_args c) + | CIf(loc,b1,(na,b_option),b2,b3) -> CIf(loc,add_args id new_args b1, (na,Option.map (add_args id new_args) b_option), diff --git a/contrib/funind/rawterm_to_relation.ml b/contrib/funind/rawterm_to_relation.ml index 9bea4f1e02..e6b3ba3ecd 100644 --- a/contrib/funind/rawterm_to_relation.ml +++ b/contrib/funind/rawterm_to_relation.ml @@ -689,7 +689,7 @@ let rec build_entry_lc env funnames avoid rt : rawconstr build_entry_return = build_entry_lc env funnames avoid b | RDynamic _ -> error "Not handled RDynamic" and build_entry_lc_from_case env funname make_discr - (el:tomatch_tuple) + (el:tomatch_tuples) (brl:Rawterm.cases_clauses) avoid : rawconstr build_entry_return = match el with diff --git a/contrib/funind/rawtermops.mli b/contrib/funind/rawtermops.mli index 6632061d49..358c6ba6c7 100644 --- a/contrib/funind/rawtermops.mli +++ b/contrib/funind/rawtermops.mli @@ -22,7 +22,7 @@ val mkRApp : rawconstr*(rawconstr list) -> rawconstr val mkRLambda : Names.name*rawconstr*rawconstr -> rawconstr val mkRProd : Names.name*rawconstr*rawconstr -> rawconstr val mkRLetIn : Names.name*rawconstr*rawconstr -> rawconstr -val mkRCases : rawconstr option * tomatch_tuple * cases_clauses -> rawconstr +val mkRCases : rawconstr option * tomatch_tuples * cases_clauses -> rawconstr val mkRSort : rawsort -> rawconstr val mkRHole : unit -> rawconstr (* we only build Evd.BinderType Anonymous holes *) val mkRCast : rawconstr* rawconstr -> rawconstr diff --git a/contrib/subtac/subtac_pretyping_F.ml b/contrib/subtac/subtac_pretyping_F.ml index a2d5be66c1..0e9e042138 100644 --- a/contrib/subtac/subtac_pretyping_F.ml +++ b/contrib/subtac/subtac_pretyping_F.ml @@ -488,6 +488,13 @@ module SubtacPretyping_F (Coercion : Coercion.S) = struct in { uj_val = v; uj_type = p } + | RLetPattern (loc, c, p) -> + (* Just use cases typing *) + let j = + pretype tycon env isevars lvar + (RCases (loc, None, [c], [p])) + in j + | RCases (loc,po,tml,eqns) -> Cases.compile_cases loc ((fun vtyc env -> pretype vtyc env isevars lvar),isevars) |
