@@ -1378,13 +1378,6 @@ mod _io {
13781378 Ok ( res)
13791379 }
13801380 #[ pymethod]
1381- fn flush ( & self , vm : & VirtualMachine ) -> PyResult < ( ) > {
1382- let mut data = self . lock ( vm) ?;
1383- let raw = data. check_init ( vm) ?;
1384- ensure_unclosed ( raw, "flush of closed file" , vm) ?;
1385- data. flush_rewind ( vm)
1386- }
1387- #[ pymethod]
13881381 fn detach ( zelf : PyRef < Self > , vm : & VirtualMachine ) -> PyResult {
13891382 call_method ( vm, zelf. as_object ( ) , "flush" , ( ) ) ?;
13901383 let mut data = zelf. lock ( vm) ?;
@@ -1620,6 +1613,13 @@ mod _io {
16201613
16211614 data. write ( obj, vm)
16221615 }
1616+ #[ pymethod]
1617+ fn flush ( & self , vm : & VirtualMachine ) -> PyResult < ( ) > {
1618+ let mut data = self . writer ( ) . lock ( vm) ?;
1619+ let raw = data. check_init ( vm) ?;
1620+ ensure_unclosed ( raw, "flush of closed file" , vm) ?;
1621+ data. flush_rewind ( vm)
1622+ }
16231623 }
16241624
16251625 #[ pyattr]
@@ -2943,6 +2943,14 @@ mod fileio {
29432943 }
29442944 }
29452945
2946+ #[ pymethod]
2947+ fn flush ( & self , vm : & VirtualMachine ) -> PyResult < ( ) > {
2948+ let mut handle = self . get_file ( vm) ?;
2949+ handle. flush ( ) . map_err ( |e| e. into_pyexception ( vm) ) ?;
2950+ self . set_file ( handle) ?;
2951+ Ok ( ( ) )
2952+ }
2953+
29462954 #[ pymethod]
29472955 fn read ( & self , read_byte : OptionalSize , vm : & VirtualMachine ) -> PyResult < Vec < u8 > > {
29482956 if !self . mode . load ( ) . contains ( Mode :: READABLE ) {
0 commit comments