You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 4350 Reporter: jm Status: closed (set by @garrigue on 2007-10-29T04:41:45Z) Resolution: fixed Priority: normal Severity: major Version: 3.10+dev Fixed in version: 3.10+dev Category: ~DO NOT USE (was: OCaml general)
Bug description
$ocamlc -v
The Objective Caml compiler, version 3.10.1+dev0 (2007-05-21)
...
$cat file.ml
module Ok =
struct
type 'a t = [ A of 'a | B ]
let fuun = function `A _ -> () | _ -> ()
let ook (t: 'a t) =
fuun t
let ok (t: 'a t) =
(function A _ -> () | B -> ()) t
let ko (t: 'a t) =
(function `A _ -> () | _ -> ()) t
end
module Ko =
struct
type 'a s = [ A of 'a | B ]
type 'a t = { s : 'a s }
let fuun = function `A _ -> () | _ -> ()
let ook (t: 'a t) =
fuun t.s
let ok (t: 'a t) =
(function A _ -> () | B -> ()) t.s
let ko (t: 'a t) =
(function `A _ -> () | _ -> ()) t.s
end
$ocamlc -c -i file.ml
module Ok :
sig
type 'a t = [ A of 'a | B ]
val fuun : [> A of 'a ] -> unit val ook : 'a t -> unit val ok : 'a t -> unit val ko : 'a t -> unit end module Ko : sig type 'a s = [ A of 'a | B ] type 'a t = { s : 'a s; } val fuun : [> A of 'a ] -> unit
val ook : 'a t -> unit
val ok : 'a t -> unit
val ko : '_a t -> unit
end
To my mind, Ko.ko should have the signature: 'a t -> unit,
as it has with ocamlc 3.09.2 for instance.
The text was updated successfully, but these errors were encountered:
Original bug ID: 4350
Reporter: jm
Status: closed (set by @garrigue on 2007-10-29T04:41:45Z)
Resolution: fixed
Priority: normal
Severity: major
Version: 3.10+dev
Fixed in version: 3.10+dev
Category: ~DO NOT USE (was: OCaml general)
Bug description
$ocamlc -v
The Objective Caml compiler, version 3.10.1+dev0 (2007-05-21)
...
$cat file.ml
module Ok =
struct
type 'a t = [
A of 'a |
B ]let fuun = function `A _ -> () | _ -> ()
let ook (t: 'a t) =
fuun t
let ok (t: 'a t) =
(function
A _ -> () |
B -> ()) tlet ko (t: 'a t) =
(function `A _ -> () | _ -> ()) t
end
module Ko =
struct
type 'a s = [
A of 'a |
B ]type 'a t = { s : 'a s }
let fuun = function `A _ -> () | _ -> ()
let ook (t: 'a t) =
fuun t.s
let ok (t: 'a t) =
(function
A _ -> () |
B -> ()) t.slet ko (t: 'a t) =
(function `A _ -> () | _ -> ()) t.s
end
$ocamlc -c -i file.ml
module Ok :
sig
type 'a t = [
A of 'a |
B ]val fuun : [>
A of 'a ] -> unit val ook : 'a t -> unit val ok : 'a t -> unit val ko : 'a t -> unit end module Ko : sig type 'a s = [
A of 'a |B ] type 'a t = { s : 'a s; } val fuun : [>
A of 'a ] -> unitval ook : 'a t -> unit
val ok : 'a t -> unit
val ko : '_a t -> unit
end
To my mind, Ko.ko should have the signature: 'a t -> unit,
as it has with ocamlc 3.09.2 for instance.
The text was updated successfully, but these errors were encountered: