[MLton] front-end error message
Matthew Fluet
fluet@cs.cornell.edu
Sat, 5 Mar 2005 17:29:23 -0500 (EST)
The Error.bug "missing flexInst" at line 1492 of elaborate/type-env.fun
is triggered by the following program:
structure S : sig type t val f : t -> bool end =
struct
datatype t = A of {a: int} | B of {b: int}
fun f t =
case t of
A {x, ...} => x = 1
| B {b, ...} => b = 0
end
bash-2.05b$ mlton-stable -stop tc z.sml
Error: z.sml 8.3.
Constructor applied to incorrect argument.
expects: {...}
but got: {[x]: _, ...}
in: A {x, ...}
Error: z.sml 8.5.
Unresolved ... in record pattern.
in: {x, ...}
missing flexInst
It is definitely related to the structure signature, as removing the
signature yields
bash-2.05b$ mlton-stable -stop tc z.sml
Error: z.sml 8.3.
Constructor applied to incorrect argument.
expects: {...}
but got: {[x]: _, ...}
in: A {x, ...}
Error: z.sml 8.5.
Unresolved ... in record pattern.
in: {x, ...}
compilation aborted: parseAndElaborate reported errors