@@ -504,7 +504,8 @@ mod _io {
504504 }
505505
506506 // TextIO Base has no public constructor
507- #[ pyclass( name = "_TextIOBase" , noattr) ]
507+ #[ pyattr]
508+ #[ pyclass( name = "_TextIOBase" , base = "_IOBase" ) ]
508509 struct _TextIOBase ;
509510
510511 #[ pyimpl( flags( BASETYPE ) ) ]
@@ -759,7 +760,8 @@ mod _io {
759760 let mut remaining = n;
760761 let mut written = 0 ;
761762 if current_size > 0 {
762- out. copy_from_slice ( self . active_read_slice ( ) ) ;
763+ let slice = self . active_read_slice ( ) ;
764+ out[ ..slice. len ( ) ] . copy_from_slice ( slice) ;
763765 remaining -= current_size;
764766 written += current_size;
765767 self . pos += current_size as Offset ;
@@ -799,12 +801,13 @@ mod _io {
799801 while remaining > 0 && ( self . read_end as usize ) < self . buffer . len ( ) {
800802 let r = handle_opt_read ! ( self . fill_buffer( vm) ?) ;
801803 if remaining > r {
802- out[ written..] . copy_from_slice ( & self . buffer [ self . pos as usize ..] [ ..r] ) ;
804+ out[ written..] [ ..r ] . copy_from_slice ( & self . buffer [ self . pos as usize ..] [ ..r] ) ;
803805 written += r;
804806 self . pos += r as Offset ;
805807 remaining -= r;
806808 } else if remaining > 0 {
807- out[ written..] . copy_from_slice ( & self . buffer [ self . pos as usize ..] [ ..remaining] ) ;
809+ out[ written..] [ ..remaining]
810+ . copy_from_slice ( & self . buffer [ self . pos as usize ..] [ ..remaining] ) ;
808811 written += remaining;
809812 self . pos += remaining as Offset ;
810813 remaining = 0 ;
@@ -1146,7 +1149,8 @@ mod _io {
11461149 }
11471150 }
11481151
1149- #[ pyclass( name = "BufferedReader" , noattr) ]
1152+ #[ pyattr]
1153+ #[ pyclass( name = "BufferedReader" , base = "_BufferedIOBase" ) ]
11501154 #[ derive( Debug ) ]
11511155 struct BufferedReader {
11521156 data : PyThreadMutex < BufferedData > ,
@@ -1192,7 +1196,8 @@ mod _io {
11921196 }
11931197 }
11941198
1195- #[ pyclass( name = "BufferedWriter" , noattr) ]
1199+ #[ pyattr]
1200+ #[ pyclass( name = "BufferedWriter" , base = "_BufferedIOBase" ) ]
11961201 #[ derive( Debug ) ]
11971202 struct BufferedWriter {
11981203 data : PyThreadMutex < BufferedData > ,
0 commit comments