diff options
| author | Hugo Herbelin | 2014-04-27 15:09:04 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2014-04-28 09:40:46 +0200 |
| commit | 5eb53b5bc8d765ed75e965f43f1084e18efc8790 (patch) | |
| tree | 31c87e5f8c9f6cff5f2277912240a2a2f565bc90 /lib | |
| parent | 6541e32be7018104c47ccad75ff41ffc750ff944 (diff) | |
Adding a field ci_cstr_nargs to case_info and mind_consnrealargs to
one_inductive_body so that when eta-expanding at "match" printing time
we know if a let is part of the expected signature or part of the
body.
This is an easy fix for bugs like #3293. Another fix could be to
enforce, as an invariant, or better syntactically, that
"match"/"Case"'s have the body of their branches expanded.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/hashset.ml | 1 | ||||
| -rw-r--r-- | lib/hashset.mli | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/hashset.ml b/lib/hashset.ml index 8c40e55001..f8d4274dee 100644 --- a/lib/hashset.ml +++ b/lib/hashset.ml @@ -202,5 +202,6 @@ module Combine = struct let combine x y = x * alpha + y let combine3 x y z = combine x (combine y z) let combine4 x y z t = combine x (combine3 y z t) + let combine5 x y z t u = combine x (combine4 y z t u) let combinesmall x y = beta * x + y end diff --git a/lib/hashset.mli b/lib/hashset.mli index 2041b2ec20..2e5b814a79 100644 --- a/lib/hashset.mli +++ b/lib/hashset.mli @@ -43,4 +43,5 @@ module Combine : sig val combinesmall : int -> int -> int val combine3 : int -> int -> int -> int val combine4 : int -> int -> int -> int -> int + val combine5 : int -> int -> int -> int -> int -> int end |
