@@ -10,8 +10,8 @@ use super::objtype::PyClassRef;
1010use crate :: format:: FormatSpec ;
1111use crate :: function:: { OptionalArg , OptionalOption } ;
1212use crate :: pyobject:: {
13- IntoPyObject , PyArithmaticValue :: * , PyClassImpl , PyComparisonValue , PyContext , PyObjectRef ,
14- PyRef , PyResult , PyValue , TryFromObject , TypeProtocol ,
13+ IntoPyObject , IntoPyResult , PyArithmaticValue :: * , PyClassImpl , PyComparisonValue , PyContext ,
14+ PyObjectRef , PyRef , PyResult , PyValue , TryFromObject , TypeProtocol ,
1515} ;
1616use crate :: vm:: VirtualMachine ;
1717use rustpython_common:: { float_ops, hash} ;
@@ -36,13 +36,13 @@ impl PyValue for PyFloat {
3636}
3737
3838impl IntoPyObject for f64 {
39- fn into_pyobject ( self , vm : & VirtualMachine ) -> PyResult {
40- Ok ( vm. ctx . new_float ( self ) )
39+ fn into_pyobject ( self , vm : & VirtualMachine ) -> PyObjectRef {
40+ vm. ctx . new_float ( self )
4141 }
4242}
4343impl IntoPyObject for f32 {
44- fn into_pyobject ( self , vm : & VirtualMachine ) -> PyResult {
45- Ok ( vm. ctx . new_float ( f64:: from ( self ) ) )
44+ fn into_pyobject ( self , vm : & VirtualMachine ) -> PyObjectRef {
45+ vm. ctx . new_float ( f64:: from ( self ) )
4646 }
4747}
4848
@@ -142,9 +142,9 @@ pub fn float_pow(v1: f64, v2: f64, vm: &VirtualMachine) -> PyResult {
142142 } else if v1. is_sign_negative ( ) && ( v2. floor ( ) - v2) . abs ( ) > f64:: EPSILON {
143143 let v1 = Complex64 :: new ( v1, 0. ) ;
144144 let v2 = Complex64 :: new ( v2, 0. ) ;
145- v1. powc ( v2) . into_pyobject ( vm)
145+ Ok ( v1. powc ( v2) . into_pyobject ( vm) )
146146 } else {
147- v1. powf ( v2) . into_pyobject ( vm)
147+ Ok ( v1. powf ( v2) . into_pyobject ( vm) )
148148 }
149149}
150150
@@ -259,7 +259,7 @@ impl PyFloat {
259259 {
260260 try_float ( & other, vm) ?. map_or_else (
261261 || Ok ( vm. ctx . not_implemented ( ) ) ,
262- |other| op ( self . value , other) . into_pyobject ( vm) ,
262+ |other| op ( self . value , other) . into_pyresult ( vm) ,
263263 )
264264 }
265265
@@ -270,7 +270,7 @@ impl PyFloat {
270270 {
271271 try_float ( & other, vm) ?. map_or_else (
272272 || Ok ( vm. ctx . not_implemented ( ) ) ,
273- |other| op ( self . value , other) . into_pyobject ( vm) ,
273+ |other| op ( self . value , other) . into_pyresult ( vm) ,
274274 )
275275 }
276276
0 commit comments