mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 09:23:44 +00:00
Estimated hours taken: 1.5
Branches: main, release
compiler/polymorphism.m:
Previously, we assumed that when a type variable had not
been seen before, a type_info would be produced for
it by a later goal. This didn't work when the type_info
was contained in a typeclass_info produced by the later
goal. Now whenever an existential typeclass_info is produced
by a call or deconstruction unification, the type_info_varmap
entries for such type variables are updated to point to the
type_class_info, and code is generated to extract the type_info
from the typeclass_info.
tests/hard_coded/Mmakefile:
tests/hard_coded/existential_reordering_class.{m,exp}:
Before this change, the compiler reported a spurious mode
error for this test case.
2 lines
14 B
Plaintext
2 lines
14 B
Plaintext
univ_cons([])
|