Skip to content

Assertion failure when calling destruct inside a pattern #1300

@ulugbekna

Description

@ulugbekna

Calling case-analysis (destruct) on x causes an assertion failure

type t =
  | A of int
  | B

let f = function
  | A x (* <<< here *)
  | B ->
    0
File "ocaml-lsp-server/vendor/merlin/src/analysis/destruct.ml", line 284, characters 49-55: Assertion failed (-32603).
[Error - 5:08:53 PM] Request textDocument/codeAction failed.
  Message: File "ocaml-lsp-server/vendor/merlin/src/analysis/destruct.ml", line 284, characters 49-55: Assertion failed
  Code: -32603 

I checked with ocamlmerlin request -- the same assertion failure is raised.

I guess this isn't too bad given a pattern such as above is not valid OCaml, but I get it quite often these days working on a real codebase.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions