Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assert failure in #5498

vicuna opened this issue Feb 3, 2012 · 1 comment

Assert failure in #5498

vicuna opened this issue Feb 3, 2012 · 1 comment


Copy link

@vicuna vicuna commented Feb 3, 2012

Original bug ID: 5498
Reporter: @garrigue
Assigned to: @garrigue
Status: closed (set by @garrigue on 2012-02-03T07:04:13Z)
Resolution: fixed
Priority: normal
Severity: minor
Version: 3.11.2
Fixed in version: 3.13.0+dev
Category: typing
Related to: #2602

Bug description

Hello Jacques,

I've hit a:
Fatal error: exception Assert_failure("typing/", 1401, 18)
while adding some objects/classes to llpp[1],

~$ ocamlc -v
The Objective Caml compiler, version 3.11.2

the code that hits this is at

you'd need to remove coercions for it to trigger, for instance

diff --git a/ b/
index 818a129..047bd65 100644
--- a/
+++ b/
@@ -3634,7 +3634,7 @@ let enterinfomode =
if Glut.getModifiers () land Glut.active_ctrl = 0
match key with

  •      | Glut.KEY_LEFT  -> coe (self#updownlevel ~-1)
  •      | Glut.KEY_LEFT  -> (self#updownlevel ~-1)
        | Glut.KEY_RIGHT -> coe (self#updownlevel 1)
        | _ -> super#special key
      else super#special key


Steps to reproduce

Download llpp by

git clone git://

and compile with

Additional information

Reproduce with 3.12 and trunk too

Copy link

@vicuna vicuna commented Feb 3, 2012

Comment author: @garrigue

Unification with an empty object did only check the absence of the first method.
As a result incompatible types could be unified, causing errors later.

Fixed in trunk revision 12111 and 3.12 revision 12112.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants