% mmc -s asm_fast.gc --loop-invariants --intermod-opt -C construct_statically_abort.m % Uncaught Mercury exception: Software Error: predicate % `ll_backend.var_locn.var_locn_assign_dynamic_cell_to_var'/13: % Unexpected: construct_statically :- module construct_statically_abort. :- interface. :- import_module io. :- pred wrapper(pred(io, io), io, io). :- mode wrapper(in(pred(di, uo) is cc_multi), di, uo) is cc_multi. :- implementation. :- import_module exception. wrapper(Pred, !IO) :- Closure = (pred({}::out, IO0::di, IO::uo) is cc_multi :- Pred(IO0, IO) ), try_io(Closure, _TryResult, !IO).