New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
O'Caml 3.01: Fatal error: Bytegen.comp_expr and Selection.size_expr #2721
Comments
Comment author: administrator
...
The bug is corrected in the development sources. Thank you for reporting the bug. --Luc Maranget Here is a diff (there are other changes, the important one is *** matching.ml Sat Mar 3 01:14:03 2001 *** 621,627 ****
*** 753,759 **** *** 2065,2072 **** *** 2157,2165 **** let for_multiple_match loc paraml pat_act_list partial = let for_multiple_match loc paraml pat_act_list partial = *** 2177,2182 ****
*** 2204,2209 ****
! check_total total lambda raise_num (partial_function loc) --- 2215,2227 ----
! begin match partial with |
Comment author: administrator Fixed 2001-03-21 by Luc |
Original bug ID: 319
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
(* This is a minimal example that makes no sense, but illustrates a bug
in OR patterns with binding in O'Caml 3.01, that appeared in a much
larger real world application.
ohl@thopad:~/ml/omega/src > ocamlc -c ocaml-bug.ml
p/62
ohl@thopad:~/ml/omega/src > ocamlopt -c ocaml-bug.ml
ohl@thopad:~/ml/omega/src > ocamlc -v
The Objective Caml compiler, version 3.01
Standard library directory: /usr/local/lib/ocaml
*)
type ab = A of int | B of int
type cd = C | D
let f = function
| (A (p) | B (p)), C -> A (p)
| (A (p) | B (p)), D -> B (p)
(*
Thorsten Ohl, Physics Department, TU Darmstadt -- ohl@hep.tu-darmstadt.de
http://heplix.ikp.physik.tu-darmstadt.de/~ohl/ [<=== PGP public key here]
*)
The text was updated successfully, but these errors were encountered: