diff options
Diffstat (limited to 'typing/subst.ml')
-rw-r--r-- | typing/subst.ml | 7 |
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 |