Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005993OCamlOCaml typingpublic2013-04-19 10:272013-04-23 02:06
Reportergarrigue 
Assigned Togarrigue 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version4.01.0+dev 
Target VersionFixed in Version4.00.2+dev 
Summary0005993: Variance information on private type abbreviations is not checked for module subtyping
DescriptionThe following code is accepted by the compiler:

module M : sig type -'a t = private int end = struct type +'a t = private int end

The type system is still sound, since the variance must respect the manifest type,
and the problem is mitigated by the fact the parameter cannot become bivariant,
but when used with objects or polymorphic variants as index, this may still break
the intended semantics for phantom types.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0009165)
garrigue (manager)
2013-04-20 10:27

Fixed in trunk and 4.00, revisions 13580 and 13581.

- Issue History
Date Modified Username Field Change
2013-04-19 10:27 garrigue New Issue
2013-04-19 10:27 garrigue Status new => assigned
2013-04-19 10:27 garrigue Assigned To => garrigue
2013-04-20 10:27 garrigue Note Added: 0009165
2013-04-20 10:27 garrigue Status assigned => resolved
2013-04-20 10:27 garrigue Fixed in Version => 4.00.2+dev
2013-04-20 10:27 garrigue Resolution open => fixed
2013-04-23 02:06 garrigue Relationship added child of 0005998
2013-04-23 02:06 garrigue Relationship deleted child of 0005998


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker