You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Original bug ID: 5907
Reporter: pzimmer
Assigned to: @garrigue
Status: closed (set by @garrigue on 2013-01-26T01:48:02Z)
Resolution: fixed
Priority: normal
Severity: crash
Version: 4.00.1
Fixed in version: 4.00.2+dev
Category: typing
Monitored by: @gasche pzimmer
Bug description
Unification involving a type declared as "type 'a t = 'a" generate exceptions instead of legitimate type errors:
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
The text was updated successfully, but these errors were encountered: