@@ -649,6 +649,8 @@ def _coerce_map_from_(self, P):
649649 True
650650 sage: S.has_coerce_map_from(PolynomialRing(ZZ, 't'))
651651 True
652+ sage: S.has_coerce_map_from(Frac(PolynomialRing(ZZ, 't')))
653+ False
652654 sage: S.has_coerce_map_from(LaurentPolynomialRing(ZZ, 't'))
653655 True
654656 sage: S.has_coerce_map_from(PowerSeriesRing(ZZ, 't'))
@@ -671,6 +673,12 @@ def _coerce_map_from_(self, P):
671673 sage: S.has_coerce_map_from(LaurentSeriesRing(QQ, 't'))
672674 False
673675
676+ sage: T.<t> = LaurentSeriesRing(QQ)
677+ sage: T.has_coerce_map_from(QQ['t'])
678+ True
679+ sage: T.has_coerce_map_from(Frac(QQ['t']))
680+ True
681+
674682 sage: R.<t> = LaurentSeriesRing(QQ['x'])
675683 sage: R.has_coerce_map_from(QQ[['t']])
676684 True
@@ -687,7 +695,10 @@ def _coerce_map_from_(self, P):
687695 sage: R.has_coerce_map_from(LazyLaurentSeriesRing(ZZ['x'], 't'))
688696 True
689697 """
698+ from sage .rings .fraction_field import FractionField_generic
690699 A = self .base_ring ()
700+ if isinstance (P , FractionField_generic ) and A .is_field ():
701+ return self .has_coerce_map_from (P .base ())
691702 if (isinstance (P , (LaurentSeriesRing , LazyLaurentSeriesRing ,
692703 LaurentPolynomialRing_generic ,
693704 PowerSeriesRing_generic , LazyPowerSeriesRing ,
0 commit comments