[m-dev.] construct__get_functor bug
Peter Ross
pro at missioncriticalit.com
Thu Dec 19 20:19:28 AEDT 2002
Hi,
construct__get_functor doesn't work correctly for types which contain
existentially quantified data (ie std_util:univ/1).
There are two reasons for this.
The first is that mercury_construct.c doesn't handle MR_TYPECTOR_REP_UNIV
in either MR_get_functor_info or MR_get_num_functors. However placing a
`case MR_TYPECTOR_REP_UNIV:' in the same switch arm as MR_TYPECTOR_REP_DU
should solve this problem, if my understanding of the RTTI is correct.
The showstopper is that the call to
MR_pseudo_type_info_vector_to_type_info_list() from construct:get_functor/6
and construct:get_functor_2/7. MR_pseudo_type_info_vector_to_type_info_list()
then calls MR_create_type_info() which doesn't work for any existentially
quantified arguments.
I am not familar enough with the RTTI type system to fix the second problem
myself, could someone familar with this do it?
Pete
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list