summaryrefslogtreecommitdiff
path: root/typing/printtyp.ml
diff options
context:
space:
mode:
authorFlorian Angeletti <florian.angeletti@inria.fr>2021-05-18 14:40:06 +0200
committeroctachron <octa@polychoron.fr>2021-05-19 13:10:17 +0200
commit22e3e03f82c1556d30f19e7608fcd8c6f348bcec (patch)
treef17818bad33592e9471af1dc618e5e4628d15d8f /typing/printtyp.ml
parent5fbd6e15c8ccffeb533389e4695223fbc9370b4b (diff)
downloadocaml-22e3e03f82c1556d30f19e7608fcd8c6f348bcec.tar.gz
toplevel: detect recursive definitions in #show
Diffstat (limited to 'typing/printtyp.ml')
-rw-r--r--typing/printtyp.ml13
1 files changed, 7 insertions, 6 deletions
diff --git a/typing/printtyp.ml b/typing/printtyp.ml
index 01250fc349..8c189832d8 100644
--- a/typing/printtyp.ml
+++ b/typing/printtyp.ml
@@ -1683,12 +1683,13 @@ let ident_sigitem = function
| Types.Sig_typext (ident,_,_,_) -> {hide=false; ident }
let hide ids env =
- let hide_id id env =
- if id.hide then
- Env.add_type ~check:false (Ident.rename id.ident) dummy env
- else env
- in
- List.fold_right hide_id ids env
+ let hide_id id env =
+ (* Global idents cannot be renamed *)
+ if id.hide && not (Ident.global id.ident) then
+ Env.add_type ~check:false (Ident.rename id.ident) dummy env
+ else env
+ in
+ List.fold_right hide_id ids env
let with_hidden_items ids f =
let with_hidden_in_printing_env ids f =