@@ -194,9 +194,9 @@ impl VirtualMachine {
194
194
PyRc :: get_mut ( & mut vm. state ) . unwrap ( ) . frozen = frozen;
195
195
196
196
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) ;
198
198
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) ;
200
200
201
201
vm
202
202
}
@@ -263,14 +263,14 @@ impl VirtualMachine {
263
263
// builtins.open to io.OpenWrapper, but this is easier, since it doesn't
264
264
// require the Python stdlib to be present
265
265
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 | {
267
267
let stdio = crate :: stdlib:: io:: open (
268
268
self . ctx . new_int ( fd) . into ( ) ,
269
269
Some ( mode) ,
270
270
Default :: default ( ) ,
271
271
self ,
272
272
) ?;
273
- let dunder_name = self . ctx . intern_str ( format ! ( "__{name}__" ) ) ;
273
+ let dunder_name = self . ctx . intern_static_str ( dunder_name ) ;
274
274
self . sys_module . set_attr (
275
275
dunder_name, // e.g. __stdin__
276
276
stdio. clone ( ) ,
@@ -279,9 +279,9 @@ impl VirtualMachine {
279
279
self . sys_module . set_attr ( name, stdio, self ) ?;
280
280
Ok ( ( ) )
281
281
} ;
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" ) ?;
285
285
286
286
let io_open = io. get_attr ( "open" , self ) ?;
287
287
self . builtins . set_attr ( "open" , io_open, self ) ?;
0 commit comments