Skip to content

Assumed inequality between paths involving functor arguments #6241

@vicuna

Description

@vicuna

Original bug ID: 6241
Reporter: @yallop
Assigned to: @garrigue
Status: closed (set by @xavierleroy on 2015-12-11T18:25:19Z)
Resolution: fixed
Priority: normal
Severity: minor
Version: 4.01.0
Fixed in version: 4.01.1+dev
Category: typing
Child of: #5998

Bug description

$ cat packages.ml
type (_, _) t =
A : ('a, 'a) t
| B : string -> ('a, 'b) t

module M (A : sig module type T end) (B : sig module type T end) =
struct
let f : ((module A.T), (module B.T)) t -> string = function
| B s -> s
end

module A = struct module type T = sig end end

module N = M(A)(A)

let x = N.f A
$ ocaml packages.ml
Segmentation fault (core dumped)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions