:- module rtti_implementation. :- pragma termination_info(rtti_implementation:get_type_info((builtin:unused)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(rtti_implementation:generic_unify((builtin:in), (builtin:in)), finite(0, [no, no, no]), can_loop). :- pragma termination_info(rtti_implementation:generic_compare((builtin:out), (builtin:in), (builtin:in)), finite(0, [no, no, no, no]), can_loop). :- pragma termination_info(rtti_implementation:compare_type_infos((builtin:out), (builtin:in), (builtin:in)), finite(0, [no, no, no]), can_loop). :- pragma termination_info(rtti_implementation:type_ctor_and_args((builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(rtti_implementation:type_ctor_name_and_arity((builtin:in), (builtin:out), (builtin:out), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(rtti_implementation:deconstruct((builtin:in), (builtin:out), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(rtti_implementation:unsafe_cast((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(rtti_implementation:type_ctor_arity((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(rtti_implementation:type_ctor_module_name((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(rtti_implementation:type_ctor_name((builtin:in)) = (builtin:out), infinite, cannot_loop).