Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004511OCamlOCaml generalpublic2008-02-23 15:572012-06-01 10:09
Reporterjm 
Assigned Togarrigue 
PrioritynormalSeverityfeatureReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version3.10+dev 
Target VersionFixed in Version4.00.0+dev 
Summary0004511: Local modules remove polymorphism.
Description% ocaml
        Objective Caml version 3.10.2+dev3 (2008-01-29)

# let ok = fun _ -> ();;
val ok : 'a -> unit = <fun>
# let ko = let module M = struct end in fun _ -> ();;
val ko : '_a -> unit = <fun>

I think [ko] should have the signature 'a -> unit.
TagsNo tags attached.
Attached Files

- Relationships
related to 0004838closedgarrigue Treat let-module expressions as non-expansive where possible 

-  Notes
(0004464)
doligez (administrator)
2008-03-07 12:17

What you propose is changing the value restriction to accept a local
module binding. Before we do that, we'll need to come up with a proof
that such a change is sound. Intuitively, I don't believe it's the
case.
(0007498)
garrigue (manager)
2012-06-01 10:09

Fixed in trunk and 4.00, revisions 12535, 12536.
The code was already there for first-class modules.

- Issue History
Date Modified Username Field Change
2008-02-23 15:57 jm New Issue
2008-03-07 12:17 doligez Note Added: 0004464
2008-03-07 12:17 doligez Severity major => feature
2008-03-07 12:17 doligez Status new => acknowledged
2009-08-25 15:23 xclerc Relationship added related to 0004838
2012-06-01 10:09 garrigue Note Added: 0007498
2012-06-01 10:09 garrigue Status acknowledged => closed
2012-06-01 10:09 garrigue Assigned To => garrigue
2012-06-01 10:09 garrigue Resolution open => fixed
2012-06-01 10:09 garrigue Fixed in Version => 4.00.0+dev


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker