Estimated hours taken: 2
Finish the removal of unnecessary index predicates.
compiler/make_hlds.m:
Do not generate type-specific index predicates for du types which
(a) have user-defined equality, (b) are enums, or (c) have only one
constructor, since for these types the comparison predicate does
not call index.
compiler/unify_proc.m:
Delete the code for generate bodies for type-specific index predicates
for types which do not need them after the change to make_hlds.m.
library/builtin.m:
library/private_builtin.m:
library/std_util.m:
Delete index predicates that have been made redundant by this change
and the previous change involving index predicates.
This should also fix a problem reported by Fergus, which was caused
by the entry labels of these index predicates were not declared
before being defined. Since they are no longer defined, the problem
should go away.