You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 30, 2023. It is now read-only.
#14982 Make coercions that go through lazy fields more robust
Coercions into lazy fields are currently defined by a kind of universal
property: anything that coerces into parents into which the lazy field coerces
also coerces into the lazy field. Besides, one of the possible classes of lazy
field elements is a wrapper around elements of other exact fields, and the
coercion of such wrappers into other parents simply converts the wrapped
elements. This is a bit fragile, both because there is no way to know for sure
all the parents into which the lazy field coerces, and because that way to
define and apply coercion maps may lead to infinite loops.
This patch makes three changes to mitigate the issue.
1. Test for coercions into all (known) rings into which the lazy field coerces
instead of just into the associated interval field.
2. Only consider direct (as opposed to composite) coercions.
3. Check that the conversion path does not already goes through the lazy field
when converting a wrapper.
0 commit comments