@@ -1384,13 +1384,6 @@ mod _io {
13841384 Ok ( res)
13851385 }
13861386 #[ pymethod]
1387- fn flush ( & self , vm : & VirtualMachine ) -> PyResult < ( ) > {
1388- let mut data = self . lock ( vm) ?;
1389- let raw = data. check_init ( vm) ?;
1390- ensure_unclosed ( raw, "flush of closed file" , vm) ?;
1391- data. flush_rewind ( vm)
1392- }
1393- #[ pymethod]
13941387 fn detach ( zelf : PyRef < Self > , vm : & VirtualMachine ) -> PyResult {
13951388 call_method ( vm, zelf. as_object ( ) , "flush" , ( ) ) ?;
13961389 let mut data = zelf. lock ( vm) ?;
@@ -1626,6 +1619,13 @@ mod _io {
16261619
16271620 data. write ( obj, vm)
16281621 }
1622+ #[ pymethod]
1623+ fn flush ( & self , vm : & VirtualMachine ) -> PyResult < ( ) > {
1624+ let mut data = self . writer ( ) . lock ( vm) ?;
1625+ let raw = data. check_init ( vm) ?;
1626+ ensure_unclosed ( raw, "flush of closed file" , vm) ?;
1627+ data. flush_rewind ( vm)
1628+ }
16291629 }
16301630
16311631 #[ pyattr]
@@ -2949,6 +2949,14 @@ mod fileio {
29492949 }
29502950 }
29512951
2952+ #[ pymethod]
2953+ fn flush ( & self , vm : & VirtualMachine ) -> PyResult < ( ) > {
2954+ let mut handle = self . get_file ( vm) ?;
2955+ handle. flush ( ) . map_err ( |e| e. into_pyexception ( vm) ) ?;
2956+ self . set_file ( handle) ?;
2957+ Ok ( ( ) )
2958+ }
2959+
29522960 #[ pymethod]
29532961 fn read ( & self , read_byte : OptionalSize , vm : & VirtualMachine ) -> PyResult < Vec < u8 > > {
29542962 if !self . mode . load ( ) . contains ( Mode :: READABLE ) {
0 commit comments