@@ -70,7 +70,7 @@ mod decl {
7070 #[ pyfunction]
7171 fn ascii ( obj : PyObjectRef , vm : & VirtualMachine ) -> PyResult < String > {
7272 let repr = vm. to_repr ( & obj) ?;
73- let ascii = to_ascii ( repr. as_str ( ) ) ;
73+ let ascii = to_ascii ( repr. borrow_value ( ) ) ;
7474 Ok ( ascii)
7575 }
7676
@@ -121,11 +121,11 @@ mod decl {
121121 fn compile ( args : CompileArgs , vm : & VirtualMachine ) -> PyResult {
122122 // TODO: compile::compile should probably get bytes
123123 let source = match & args. source {
124- Either :: A ( string) => string. as_str ( ) ,
124+ Either :: A ( string) => string. borrow_value ( ) ,
125125 Either :: B ( bytes) => std:: str:: from_utf8 ( bytes) . unwrap ( ) ,
126126 } ;
127127
128- let mode_str = args. mode . as_str ( ) ;
128+ let mode_str = args. mode . borrow_value ( ) ;
129129
130130 let flags = args
131131 . flags
@@ -138,7 +138,7 @@ mod decl {
138138 . parse :: < compile:: Mode > ( )
139139 . map_err ( |err| vm. new_value_error ( err. to_string ( ) ) ) ?;
140140
141- vm. compile ( & source, mode, args. filename . as_str ( ) . to_owned ( ) )
141+ vm. compile ( & source, mode, args. filename . borrow_value ( ) . to_owned ( ) )
142142 . map ( |o| o. into_object ( ) )
143143 . map_err ( |err| vm. new_syntax_error ( & err) )
144144 } else {
@@ -230,7 +230,7 @@ mod decl {
230230 // Determine code object:
231231 let code_obj = match source {
232232 Either :: A ( string) => vm
233- . compile ( string. as_str ( ) , mode, "<string>" . to_owned ( ) )
233+ . compile ( string. borrow_value ( ) , mode, "<string>" . to_owned ( ) )
234234 . map_err ( |err| vm. new_syntax_error ( & err) ) ?,
235235 Either :: B ( code_obj) => code_obj,
236236 } ;
@@ -355,7 +355,7 @@ mod decl {
355355
356356 #[ pyfunction]
357357 fn input ( prompt : OptionalArg < PyStringRef > , vm : & VirtualMachine ) -> PyResult < String > {
358- let prompt = prompt. as_ref ( ) . map_or ( "" , |s| s. as_str ( ) ) ;
358+ let prompt = prompt. as_ref ( ) . map_or ( "" , |s| s. borrow_value ( ) ) ;
359359 let mut readline = Readline :: new ( ( ) ) ;
360360 match readline. readline ( prompt) {
361361 ReadlineResult :: Line ( s) => Ok ( s) ,
@@ -568,7 +568,7 @@ mod decl {
568568 Ok ( u32:: from ( bytes[ 0 ] ) )
569569 } ) ,
570570 Either :: B ( string) => {
571- let string = string. as_str ( ) ;
571+ let string = string. borrow_value ( ) ;
572572 let string_len = string. chars ( ) . count ( ) ;
573573 if string_len != 1 {
574574 return Err ( vm. new_type_error ( format ! (
@@ -779,7 +779,11 @@ mod decl {
779779 mut kwargs : KwArgs ,
780780 vm : & VirtualMachine ,
781781 ) -> PyResult {
782- let name = qualified_name. as_str ( ) . split ( '.' ) . next_back ( ) . unwrap ( ) ;
782+ let name = qualified_name
783+ . borrow_value ( )
784+ . split ( '.' )
785+ . next_back ( )
786+ . unwrap ( ) ;
783787 let name_obj = vm. new_str ( name. to_owned ( ) ) ;
784788
785789 let mut metaclass = if let Some ( metaclass) = kwargs. pop_kwarg ( "metaclass" ) {
0 commit comments