Fix bug exposed by previous commit
This commit is contained in:
parent
0d27e9f909
commit
9d3117d63e
|
@ -43,6 +43,9 @@ next
|
|||
- Add an `ignored_subdirs` stanza to replace `jbuild-ignore` files
|
||||
(#767, @diml)
|
||||
|
||||
- Fix a bug where Dune ignored previous occurences of duplicated
|
||||
fields (#779, @diml)
|
||||
|
||||
1.0+beta20 (10/04/2018)
|
||||
-----------------------
|
||||
|
||||
|
|
|
@ -273,6 +273,8 @@ module Of_sexp = struct
|
|||
| List (_, name_sexp :: values) -> begin
|
||||
match name_sexp with
|
||||
| Atom (_, A name) ->
|
||||
if Name_map.mem acc name then
|
||||
of_sexp_errorf sexp "Field %S is present too many times" name;
|
||||
Name_map.add acc name { values; entry = sexp }
|
||||
| List _ | Quoted_string _ ->
|
||||
of_sexp_error name_sexp "Atom expected"
|
||||
|
|
|
@ -27,5 +27,7 @@ let of_sexp = record (field "foo" int)
|
|||
let x = of_sexp sexp
|
||||
[%%expect{|
|
||||
val of_sexp : int Stdune.Sexp.Of_sexp.t = <fun>
|
||||
val x : int = 2
|
||||
Exception:
|
||||
Stdune__Sexp.Of_sexp.Of_sexp (<abstr>,
|
||||
"Field \"foo\" is present too many times", None).
|
||||
|}]
|
||||
|
|
Loading…
Reference in New Issue