let parse fmt = Fmt.kstrf (fun x -> x) fmt
let check f = assert (f "X" = f "X")
let () = check (parse "%s")
This is fixed if you replace Fmt.kstrf by Format.ksprintf. This is fixed if you eta-expand (parse "%s") into (fun x -> parse "%s" x). Not sure exactly what is happening there ...
The following program gives an assert failure:
This is fixed if you replace
Fmt.kstrf
byFormat.ksprintf
. This is fixed if you eta-expand(parse "%s")
into(fun x -> parse "%s" x)
. Not sure exactly what is happening there ...