Skip to content

Semantic of Lazy.is_val changes using bisect_ppx #398

@Ngoguey42

Description

@Ngoguey42

When dune and main.ml contain:

(executable (name main) (instrumentation (backend bisect_ppx)))
let () =
  let v = lazy 42 in
  Printf.printf "%b\n" (Lazy.is_val v);
  let v = Lazy.from_val 42 in
  Printf.printf "%b\n" (Lazy.is_val v)

dune exec bisect_ppx -- ./main.exe produces:

true
true

while dune exec --instrument-with bisect_ppx -- ./main.exe produces:

false
true
$ dune --version; ocaml --version; opam show bisect
2.9.0
The OCaml toplevel, version 4.11.1
version       1.3.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions