% Derived from extras/trailed_update/var.m. % Compiles succesfully with Mercury 14.01.X. % A mode error is reported with recent rotds. :- module bug400. :- interface. :- type var_rep(T) ---> rep_free(pred(T)) ; rep_alias(var_rep(T)). :- inst var_rep_any ---> rep_free(any_pred(ia) is semidet) ; rep_alias(var_rep_any). :- func make_alias(var_rep(T)::in(var_rep_any)) = (var_rep(T)::out(var_rep_any)) is det. :- implementation. make_alias(A) = B :- B = rep_alias(A).