%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
%
% The compiler of 8/5/2000 aborted on this test case because it didn't
% properly handle overloading of field access functions and constructors.

:- module record_syntax_bug_2.
:- interface.

:- type foo
    --->    some [T] debug(T) where equality is all_equal.

:- type bar
    --->    bar(debug :: foo).

:- pred baz(foo, bar).
:- mode baz(in, out) is cc_multi.

:- pred all_equal(foo, foo).
:- mode all_equal(in, in) is semidet.

:- implementation.
:- import_module std_util.

all_equal(_, _) :- semidet_succeed.

baz(debug(X), X).
