Skip to content

Blocking bug: some graders fail with Error: Ctype.Unification_trace.Unify(_) #457

@erikmd

Description

@erikmd

Related project scope(s) (ex: client, CSS, grading, etc...) : grading
Related user(s): @erikmd

Bug description

I noticed this week a regression:
some graders of my lab sessions (relying on and extending code from Test_lib, so involving direct calls to Introspection) worked fine with 0.12 but now fail noisily with 0.13.x with the following error:

Learnocaml v.0.13.1 running.
Updating app at ./www
Exercise definition error while testing your solution:
File "_none_", line 1:
                                                       Error: Ctype.Unification_trace.Unify(_)


grader outcomes:
val print_html : 'a -> 'b = <fun>
module Code :
(…)

To Reproduce

I was able to craft a minimal working example:

  • Add just the following code in an existing test.ml:
module type tARITH_TEACHER = sig
  type t
  val zero : t
  val one : t
  val add : t -> t -> t
  val mul : t -> t -> t
  val opp : t -> t
  val of_int : int -> t
  val to_string : t -> string
end

(* dummy but sufficient example to reproduce the failure *)
let foo0 () = Introspection.get_value "INT" [%ty: (module tARITH_TEACHER)]
  • then you'll get a failure with 0.13.1.

@AltGr, would you have an idea to isolate/fix the issue?

I hope this could be fixed or workarounded (so that the grader behaves the same as with 0.12).

Current configuration

  • OS: GNU/Linux
  • Browser: Firefox
  • Version: learn-ocaml 0.13.1

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions