%---------------------------------------------------------------------------% % vim: ts=4 sw=4 et ft=mercury %---------------------------------------------------------------------------% % % The ROTD of 25/10/1999 gave a spurious mode error for this % test case because the type-info argument of the cons_id was not being % put in the non-locals of the construction. :- module existential_cons. :- interface. :- type exist_cons ---> some[T] exist_cons(a::int, b::T, c::int). :- pred construct_exist_cons(exist_cons::out) is det. :- implementation. construct_exist_cons(ExistCons) :- A = 1, X = 'b', C = 2, ExistCons = 'new exist_cons'(A, X, C).