Closed nyuichi closed 4 years ago
No need to be "polymorphic": we can reproduce the same phenomenon with the following, smaller code.
module M = struct
type t = int
end
type t = M.t
Note that if we choose another name for either type definition, no error is reported as expected:
module M = struct
type t = int
end
type u = M.t
This thread is a follow up to https://twitter.com/___yuni/status/1148284153126739968.
Combining polymorphic types from an external module with type aliasing crashes the type checker. For example, compiling the following code
I got an assertion error of the type checker of satysfi.
The version I used was e1e0270.