@@ -30,19 +30,19 @@ pub fn print_exception(vm: &mut VirtualMachine, exc: &PyObjectRef) {
3030for elementin elements. iter ( ) {
3131if objtype:: isinstance ( & element, & vm. ctx . tuple_type ( ) ) {
3232let element = objtuple:: get_elements ( & element) ;
33- let filename =if let Ok ( x) = vm. to_str ( element[ 0 ] . clone ( ) ) {
33+ let filename =if let Ok ( x) = vm. to_str ( & element[ 0 ] ) {
3434 objstr:: get_value ( & x)
3535} else {
3636"<error>" . to_string ( )
3737} ;
3838
39- let lineno =if let Ok ( x) = vm. to_str ( element[ 1 ] . clone ( ) ) {
39+ let lineno =if let Ok ( x) = vm. to_str ( & element[ 1 ] ) {
4040 objstr:: get_value ( & x)
4141} else {
4242"<error>" . to_string ( )
4343} ;
4444
45- let obj_name =if let Ok ( x) = vm. to_str ( element[ 2 ] . clone ( ) ) {
45+ let obj_name =if let Ok ( x) = vm. to_str ( & element[ 2 ] ) {
4646 objstr:: get_value ( & x)
4747} else {
4848"<error>" . to_string ( )
@@ -58,7 +58,7 @@ pub fn print_exception(vm: &mut VirtualMachine, exc: &PyObjectRef) {
5858println ! ( "No traceback set on exception" ) ;
5959}
6060
61- match vm. to_str ( exc. clone ( ) ) {
61+ match vm. to_str ( exc) {
6262Ok ( txt) =>println ! ( "{}" , objstr:: get_value( & txt) ) ,
6363Err ( err) =>println ! ( "Error during error {:?}" , err) ,
6464}