Skip to content

fixing wild failwith

Rémi requested to merge fix_wild_failwith into dev

type:fixed

This failwith can be executed ( see https://tezos-dev.slack.com/archives/C02SSDPKMA4/p1656501527843959 ) but I can't reproduce :/ Anyway, this is a fix

edit: reproduce

let no_operation : operation list = []


(* type storage = nat *)
(* ^ Uncomment to see error as expected:

Invalid type(s).
Expected: "storage", but got: "string".

*)

type storage = {
    foo: string;
  }
(* ^ With above type, we still have an expected error:

Invalid type(s).
Expected: "storage", but got: "string".

*)

(* module Storage = struct *)
(*   type t = { *)
(*       foo: string; *)
(*     } *)
(* end *)


(* Just uncomment above line to see the error:

An internal error ocurred. Please, contact the developers.
toto.

*)

(* type storage = Storage.t *)
type result = (operation list * storage)

let foo (s : storage) = s

let main (_p, s : unit * storage) : result = 
  no_operation, foo "Hello"

Changelog details: Fix a potential crash during the generation of type errors

Edited by Rémi

Merge request reports

Loading