% The compiler aborted in the float_reg.m pass due to mishandling of % deconstruction unifications. % % Software Error: hlds.instmap: predicate `hlds.instmap.merge_instmapping_delta_2'/9: % Unexpected: merge_instmapping_delta_2: error merging var 5 :- module float_reg_deconstruct. :- interface. :- type e ---> e( e1 :: string, e2 :: int ). :- type f ---> f( f1 :: int, f2 :: string, f3 :: int ). :- pred mk(e::in, f::out) is det. :- implementation. mk(E, F) :- X = E ^ e1, F ^ f1 = 1, F ^ f2 = X, ( X = "" -> F ^ f3 = 3 ; F ^ f3 = -3 ). %-----------------------------------------------------------------------------% % vim: ft=mercury ts=4 sts=4 sw=4 et