You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$ ./install/bin/ocaml -short-paths
OCaml version 4.11.0+dev16-2020-08-04
# type 'a t = T;;
type 'a t = T
# #show t;;
>> Fatal error: Ident.rename t
Fatal error: exception Misc.Fatal_error
It was apparently introduced by #9086, specifically this change:
diff --git a/toplevel/topdirs.ml b/toplevel/topdirs.ml
index f4526692b6..78ab7eb51f 100644
--- a/toplevel/topdirs.ml+++ b/toplevel/topdirs.ml@@ -545,15 +545,66 @@ let () =
reg_show_prim "show_type"
(fun env loc id lid ->
let _path, desc = Env.lookup_type ~loc lid env in
- [ Sig_type (id, desc, Trec_not, Exported) ]+ [ Sig_type (id, desc, Trec_first, Exported) ]
)
"Print the signature of the corresponding type constructor."
After this change, Printtyp.hide_rec_items attempts to rename persistent idents (i.e. Ident.Global values), which fails with the Misc.Fatal_error exception seen above.
I haven't investigated further, but I expect the easiest fix is to revert the single-line change above to restore the previous behaviour (i.e. printing type definitions with a bogus nonrec rather than exiting the interpreter with a fatal error).
The text was updated successfully, but these errors were encountered:
This is a bug in 4.11.0+rc1:
It was apparently introduced by #9086, specifically this change:
After this change,
Printtyp.hide_rec_items
attempts to rename persistent idents (i.e.Ident.Global
values), which fails with theMisc.Fatal_error
exception seen above.I haven't investigated further, but I expect the easiest fix is to revert the single-line change above to restore the previous behaviour (i.e. printing type definitions with a bogus
nonrec
rather than exiting the interpreter with a fatal error).The text was updated successfully, but these errors were encountered: