aboutsummaryrefslogtreecommitdiff
path: root/interp/constrintern.mli
diff options
context:
space:
mode:
authorGaëtan Gilbert2019-05-23 10:54:14 +0200
committerGaëtan Gilbert2019-06-11 09:55:51 +0200
commit1c5e2508d6a9604ffd77eff3140a86eafbc672a9 (patch)
tree2a93d48b0dd438db2b936e3cbbfe322f2140604f /interp/constrintern.mli
parent82663b28a04d82e89bd041efd256c4838312e587 (diff)
Fix #10225 (Instance := {} accepts duplicate fields)
This replaces the mismatched context error, which occurred when Instance := {} was used with strictly more fields than declared. Since we later check that field names match those declared for the instance, now that we reject duplicates we know that there are no extra fields.
Diffstat (limited to 'interp/constrintern.mli')
-rw-r--r--interp/constrintern.mli4
1 files changed, 4 insertions, 0 deletions
diff --git a/interp/constrintern.mli b/interp/constrintern.mli
index 0d4bc91f57..2e4d7479a9 100644
--- a/interp/constrintern.mli
+++ b/interp/constrintern.mli
@@ -189,3 +189,7 @@ val for_grammar : ('a -> 'b) -> 'a -> 'b
(** Placeholder for global option, should be moved to a parameter *)
val get_asymmetric_patterns : unit -> bool
+
+val check_duplicate : ?loc:Loc.t -> (qualid * constr_expr) list -> unit
+(** Check that a list of record field definitions doesn't contain
+ duplicates. *)