Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006768OCamltypingpublic2015-02-02 13:262016-12-07 11:47
Reporterdarktenaibre 
Assigned Togarrigue 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version4.02.1 
Target VersionFixed in Version4.02.2+dev / +rc1 
Summary0006768: Typechecker overflow the stack on cyclic type annotation after matching on a GADT
DescriptionThe following make the typechecker loop and eventually overflow, while 4.01.0 fails saying the type annotation d is cyclic (which is correct).
Steps To Reproducetype _ prod =
| Prod : ('a * 'y) prod

let f : type t. t prod -> _ =
   function Prod -> let module M =
                      struct
                        type d = d * d
                      end in ()
Additional InformationRemoving the pattern matching, simplifying either the GADT constraint or the type declaration (e.g. "type d = d") or removing the typing constraint/abstraction on f yields the correct error message.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0013227)
garrigue (manager)
2015-02-05 08:52

Fixed in trunk and 4.02.2 at revisions 15810 and 15811.

The problem was a forgotten wrap_trace_gadt_instance in Typedecl,check_well_founded.

- Issue History
Date Modified Username Field Change
2015-02-02 13:26 darktenaibre New Issue
2015-02-05 08:52 garrigue Note Added: 0013227
2015-02-05 08:52 garrigue Status new => resolved
2015-02-05 08:52 garrigue Fixed in Version => 4.02.2+dev / +rc1
2015-02-05 08:52 garrigue Resolution open => fixed
2015-02-05 08:52 garrigue Assigned To => garrigue
2016-12-07 11:47 xleroy Status resolved => closed
2017-02-23 16:45 doligez Category OCaml typing => typing


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker