Skip to content

Fix: top-level underscore "definition" breaks testing framework

E. Rivas requested to merge er433/fix/testing-fresh-defs into dev

When a definition has a fresh name (e.g. appearing from an usage of _), testing framework breaks:

$ cat ww.mligo 
let _ = 42
$ ligo test ww.mligo 
ligo: internal error, uncaught exception:
      Simple_utils__Var.Tried_to_unfreshen_variable
      Raised at file "vendors/ligo-utils/simple-utils/var.ml", line 104, characters 14-47
      Called from file "src/main/interpreter/interpreter.ml", line 783, characters 17-50
      Called from file "src/list.ml", line 812, characters 13-17
      Called from file "src/list.ml", line 819, characters 26-47
      Called from file "src/main/interpreter/interpreter.ml", line 789, characters 10-34
      Called from file "vendors/ligo-utils/simple-utils/trace.ml", line 235, characters 11-14
      Called from file "vendors/ligo-utils/simple-utils/trace.ml", line 235, characters 11-14
      Called from file "vendors/ligo-utils/simple-utils/trace.ml", line 235, characters 11-14
      Called from file "src/main/api/run.ml", line 11, characters 6-277
      Called from file "src/bin/cli.ml", line 600, characters 4-73
      Called from file "cmdliner_term.ml", line 25, characters 19-24
      Called from file "cmdliner.ml", line 26, characters 27-34
      Called from file "cmdliner.ml", line 117, characters 32-39

This MR fixes that by checking the variable name is not generated before doing unfresh.

  • has a changelog entry
Edited by E. Rivas

Merge request reports

Loading