% This test case should produce _no_ warnings.  One version of the
% compiler complained that the recursive call to return_me inside
% the lambda would call infinite recursion.
%		-- 28/7/1997 bromage

:- module inf_recursion_lambda.
:- interface.

:- type closure ---> closure((func) = closure).
:- inst closure == bound(closure((func) = out(closure) is det)).

:- func return_me = (closure :: out(closure)) is det.

:- implementation.

return_me = closure((func) = return_me).

