Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004383OCaml~DO NOT USE (was: OCaml general)public2007-09-09 05:112007-09-10 05:05
Assigned To 
PlatformOSOS Version
Product Version3.10.0 
Target VersionFixed in Version3.10+dev 
Summary0004383: including module with private type causes strange error
DescriptionIf a module A containing a private type is included in module B which does not have a type signature, the following error occurs:

The implementation does not match the interface (inferred signature):
Type declarations do not match:
  type t = A.t
is not included in
  type t = A.t#row

This did not occur in 3.09.3.
Additional InformationThe following code was used to produce this error:

module A = struct
    type t = private [> ]

include A

The same error occurs if a private object type is used in place of the private variant.

Note that if the struct is included directly, e.g. "include struct type t = private [> ] end", then the error does not occur.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
garrigue (manager)
2007-09-10 05:05

Fixed in CVS.
The code was assuming than row types could only be abstract in signatures,
but after some change in 3.10 a module may be checked with the signature
inferred from itself, which may in turn contain manifest row types if the
include construct was used...

- Issue History
Date Modified Username Field Change
2007-09-09 05:11 squirrel New Issue
2007-09-10 05:05 garrigue Status new => closed
2007-09-10 05:05 garrigue Note Added: 0004145
2007-09-10 05:05 garrigue Resolution open => fixed
2007-09-10 05:05 garrigue Fixed in Version => 3.10+dev
2017-02-23 16:36 doligez Category OCaml general => -OCaml general
2017-03-03 17:55 doligez Category -OCaml general => -(deprecated) general
2017-03-03 18:01 doligez Category -(deprecated) general => ~deprecated (was: OCaml general)
2017-03-06 17:04 doligez Category ~deprecated (was: OCaml general) => ~DO NOT USE (was: OCaml general)

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker