mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-14 05:12:33 +00:00
Estimated hours taken: 12 Branches: main Fix a bug by distinguishing the type_ctor_reps of type_infos and type_ctor_infos. The type_ctor_infos of types with nonzero arity cannot be printed, copied etc like type_infos; any attempt to do so causes a core dump. For similar reasons, add a separate type_ctor_rep for base_typeclass_infos separate from typeclass_infos. runtime/mercury_type_info.h: runtime/mercury_mcpp.h: compiler/mlds_to_gcc.m: library/rtti_implementation.m: java/TypeCtorRep.java: Add new type_ctor_reps for type_ctor_infos and base_typeclass_infos. library/private_builtin.m: runtime/mercury.c: Use the new type_ctor_reps in the type_ctor_infos of the builtin types type_ctor_info and base_typeclass_info. runtime/mercury_type_info.[ch]: Add a function for comparing type_ctor_infos. Move some interface documentation from the source file to the header file. runtime/mercury_deep_copy_body.h: Add code to handle the new type_ctor_reps. Simplify some code. Make the whole file use 4-space indentation. library/std_util.m: runtime/mercury_ml_expand_body.h: runtime/mercury_unify_compare_body.h: runtime/mercury_ho_call.c: runtime/mercury_tabling.c: Add code to handle the new type_ctor_reps.