@@ -194,9 +194,9 @@ impl VirtualMachine {
194194 PyRc :: get_mut ( & mut vm. state ) . unwrap ( ) . frozen = frozen;
195195
196196 vm. builtins
197- . init_module_dict ( vm. ctx . intern_str ( "builtins" ) , vm. ctx . none ( ) , & vm) ;
197+ . init_module_dict ( vm. ctx . intern_static_str ( "builtins" ) , vm. ctx . none ( ) , & vm) ;
198198 vm. sys_module
199- . init_module_dict ( vm. ctx . intern_str ( "sys" ) , vm. ctx . none ( ) , & vm) ;
199+ . init_module_dict ( vm. ctx . intern_static_str ( "sys" ) , vm. ctx . none ( ) , & vm) ;
200200
201201 vm
202202 }
@@ -263,14 +263,14 @@ impl VirtualMachine {
263263 // builtins.open to io.OpenWrapper, but this is easier, since it doesn't
264264 // require the Python stdlib to be present
265265 let io = import:: import_builtin ( self , "_io" ) ?;
266- let set_stdio = |name, fd, mode : & str | {
266+ let set_stdio = |name, dunder_name , fd, mode : & str | {
267267 let stdio = crate :: stdlib:: io:: open (
268268 self . ctx . new_int ( fd) . into ( ) ,
269269 Some ( mode) ,
270270 Default :: default ( ) ,
271271 self ,
272272 ) ?;
273- let dunder_name = self . ctx . intern_str ( format ! ( "__{name}__" ) ) ;
273+ let dunder_name = self . ctx . intern_static_str ( dunder_name ) ;
274274 self . sys_module . set_attr (
275275 dunder_name, // e.g. __stdin__
276276 stdio. clone ( ) ,
@@ -279,9 +279,9 @@ impl VirtualMachine {
279279 self . sys_module . set_attr ( name, stdio, self ) ?;
280280 Ok ( ( ) )
281281 } ;
282- set_stdio ( "stdin" , 0 , "r" ) ?;
283- set_stdio ( "stdout" , 1 , "w" ) ?;
284- set_stdio ( "stderr" , 2 , "w" ) ?;
282+ set_stdio ( "stdin" , "__stdin__" , 0 , "r" ) ?;
283+ set_stdio ( "stdout" , "__stdout__" , 1 , "w" ) ?;
284+ set_stdio ( "stderr" , "__stderr__" , 2 , "w" ) ?;
285285
286286 let io_open = io. get_attr ( "open" , self ) ?;
287287 self . builtins . set_attr ( "open" , io_open, self ) ?;
0 commit comments