Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005907OCamlOCaml typingpublic2013-01-25 23:422013-01-26 02:48
Reporterpzimmer 
Assigned Togarrigue 
PrioritynormalSeveritycrashReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version4.00.1 
Target VersionFixed in Version4.00.2+dev 
Summary0005907: Exceptions raised by type checker
DescriptionUnification involving a type declared as "type 'a t = 'a" generate exceptions instead of legitimate type errors:


        OCaml version 4.00.1

# type 'a t = 'a;;
type 'a t = 'a
# let f (g : 'a list -> 'a t -> 'a) s = g s s;;
Fatal error: exception Ctype.Unify(_)


# let f (g : 'a * 'b -> 'a t -> 'a) s = g s s;;
Fatal error: exception Stack_overflow
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0008799)
garrigue (manager)
2013-01-26 02:48

Fixed in trunk and 4.00, at revisions 13280 and 13281.

The call to the occur check in Ctype.unify3 was wrong.
Hard to believe this was not detected earlier...
Thank you very much for strengthening our so weak test suite.

- Issue History
Date Modified Username Field Change
2013-01-25 23:42 pzimmer New Issue
2013-01-26 02:48 garrigue Note Added: 0008799
2013-01-26 02:48 garrigue Status new => closed
2013-01-26 02:48 garrigue Assigned To => garrigue
2013-01-26 02:48 garrigue Resolution open => fixed
2013-01-26 02:48 garrigue Fixed in Version => 4.00.2+dev


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker