type 'a t
(*@ mutable model contents : 'a list *)
val make : int -> 'a -> 'a t
(*@ t = make i a
ensures t.contents = List.init i (fun x -> a) *)
val set : 'a t -> int -> 'a -> unit
(*@ set t i a
modifies t.contents
ensures t.contents = List.mapi (fun j x -> if j = (i : integer) then a else x) (old t.contents) *)
Given the following interface:
ortac qcheck-stm %{dep:testing.mli} "make 16 'a'" "char t"
generates an OCaml file raising warning 23Either we make the plugin smarter or we ask the user to include 23 in the disabled warnings.