Abstract module types should not be allowed to hide static components
OlivierNicole opened this issue · comments
This causes a segfault when compiling the following code:
module E:sig
module type V
module L : functor (Y:(functor (X:V) -> V)) -> V
module A : functor (X:V) (Y:V) -> V
end = struct
module type V = sig end
module L = functor (Y:(functor (X:V) -> V)) -> struct end
module A = functor (X:V) (Y:V) -> X
end
open E
module R = L(functor (X:V) -> A(X)(X))