OlivierNicole / ocaml

The core OCaml system: compilers, runtime system, base libraries

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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))