Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005989OCamlOCaml typingpublic2013-04-18 12:022013-04-23 02:06
Reporteryallop 
Assigned Togarrigue 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version4.00.1 
Target VersionFixed in Version4.00.2+dev 
Summary0005989: Assumed inequalities involving private rows
Description$ cat private_row_inequality.ml
type (_, _) t =
    Any : ('a, 'b) t
  | Eq : ('a, 'a) t

module M :
sig
  type s = private [> `A]
  val eq : (s, [`A | `B]) t
end =
struct
  type s = [`A | `B]
  let eq = Eq
end

let f : (M.s, [`A | `B]) t -> string = function
  | Any -> "Any"

let () = print_endline (f M.eq)
$ ocaml private_row_inequality.ml
Any
TagsNo tags attached.
Attached Files

- Relationships
related to 0005981resolvedgarrigue Incompatibility check assumes abstracted type constructors are injective 
related to 0005997resolvedgarrigue Non-compatibility assumed between concrete types with same constructor 
child of 0005998assignedgarrigue GADT typing and exhaustiveness bugs 

-  Notes
(0009157)
garrigue (manager)
2013-04-18 14:23

Indeed, this is the same problem as 5989: it seems that I misunderstood the relation between unify and mcomp.
In this case again, mcomp is correct, but unify3 itself needs to implement the same behavior.
While we're at that, we should also check object rows...
(0009158)
garrigue (manager)
2013-04-19 01:44
edited on: 2013-04-20 10:28

Fixed in trunk and 4.00, revisions 13578 and 13581.

(0009159)
yallop (developer)
2013-04-19 01:50

Excellent; thanks!

- Issue History
Date Modified Username Field Change
2013-04-18 12:02 yallop New Issue
2013-04-18 14:12 gasche Relationship added related to 0005985
2013-04-18 14:13 gasche Status new => acknowledged
2013-04-18 14:20 garrigue Relationship added related to 0005981
2013-04-18 14:20 garrigue Relationship deleted related to 0005985
2013-04-18 14:23 garrigue Note Added: 0009157
2013-04-18 14:23 garrigue Assigned To => garrigue
2013-04-18 14:23 garrigue Status acknowledged => confirmed
2013-04-19 01:44 garrigue Note Added: 0009158
2013-04-19 01:44 garrigue Status confirmed => resolved
2013-04-19 01:44 garrigue Fixed in Version => 4.00.2+dev
2013-04-19 01:44 garrigue Resolution open => fixed
2013-04-19 01:50 yallop Note Added: 0009159
2013-04-20 10:28 garrigue Note Edited: 0009158 View Revisions
2013-04-22 16:24 gasche Relationship added related to 0005997
2013-04-23 02:06 garrigue Relationship added child of 0005998


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker