summaryrefslogtreecommitdiffstats
path: root/typing/subst.ml
diff options
context:
space:
mode:
Diffstat (limited to 'typing/subst.ml')
-rw-r--r--typing/subst.ml7
1 files changed, 5 insertions, 2 deletions
diff --git a/typing/subst.ml b/typing/subst.ml
index b6a0edbc5..160de5428 100644
--- a/typing/subst.ml
+++ b/typing/subst.ml
@@ -333,8 +333,11 @@ let rec rename_bound_idents s idents = function
let id' = Ident.rename id in
rename_bound_idents (add_modtype id (Mty_ident(Pident id')) s)
(id' :: idents) sg
- | (Sig_value(id, _) | Sig_typext(id, _, _) |
- Sig_class(id, _, _) | Sig_class_type(id, _, _)) :: sg ->
+ | (Sig_class(id, _, _) | Sig_class_type(id, _, _)) :: sg ->
+ (* cheat and pretend they are types cf. PR#6650 *)
+ let id' = Ident.rename id in
+ rename_bound_idents (add_type id (Pident id') s) (id' :: idents) sg
+ | (Sig_value(id, _) | Sig_typext(id, _, _)) :: sg ->
let id' = Ident.rename id in
rename_bound_idents s (id' :: idents) sg