@@ -14,10 +14,10 @@ use crate::types::create_type;
1414use crate :: VirtualMachine ;
1515
1616use itertools:: Itertools ;
17+ use parking_lot:: RwLock ;
1718use std:: fmt;
1819use std:: fs:: File ;
1920use std:: io:: { self , BufRead , BufReader , Write } ;
20- use std:: sync:: RwLock ;
2121
2222use crossbeam_utils:: atomic:: AtomicCell ;
2323
@@ -66,50 +66,50 @@ impl PyBaseException {
6666
6767 #[ pymethod( name = "__init__" ) ]
6868 fn init ( & self , args : PyFuncArgs , vm : & VirtualMachine ) -> PyResult < ( ) > {
69- * self . args . write ( ) . unwrap ( ) = PyTuple :: from ( args. args ) . into_ref ( vm) ;
69+ * self . args . write ( ) = PyTuple :: from ( args. args ) . into_ref ( vm) ;
7070 Ok ( ( ) )
7171 }
7272
7373 #[ pyproperty]
7474 pub fn args ( & self ) -> PyTupleRef {
75- self . args . read ( ) . unwrap ( ) . clone ( )
75+ self . args . read ( ) . clone ( )
7676 }
7777
7878 #[ pyproperty( setter) ]
7979 fn set_args ( & self , args : PyIterable , vm : & VirtualMachine ) -> PyResult < ( ) > {
8080 let args = args. iter ( vm) ?. collect :: < PyResult < Vec < _ > > > ( ) ?;
81- * self . args . write ( ) . unwrap ( ) = PyTuple :: from ( args) . into_ref ( vm) ;
81+ * self . args . write ( ) = PyTuple :: from ( args) . into_ref ( vm) ;
8282 Ok ( ( ) )
8383 }
8484
8585 #[ pyproperty( name = "__traceback__" ) ]
8686 pub fn traceback ( & self ) -> Option < PyTracebackRef > {
87- self . traceback . read ( ) . unwrap ( ) . clone ( )
87+ self . traceback . read ( ) . clone ( )
8888 }
8989
9090 #[ pyproperty( name = "__traceback__" , setter) ]
9191 pub fn set_traceback ( & self , traceback : Option < PyTracebackRef > ) {
92- * self . traceback . write ( ) . unwrap ( ) = traceback;
92+ * self . traceback . write ( ) = traceback;
9393 }
9494
9595 #[ pyproperty( name = "__cause__" ) ]
9696 pub fn cause ( & self ) -> Option < PyBaseExceptionRef > {
97- self . cause . read ( ) . unwrap ( ) . clone ( )
97+ self . cause . read ( ) . clone ( )
9898 }
9999
100100 #[ pyproperty( name = "__cause__" , setter) ]
101101 pub fn set_cause ( & self , cause : Option < PyBaseExceptionRef > ) {
102- * self . cause . write ( ) . unwrap ( ) = cause;
102+ * self . cause . write ( ) = cause;
103103 }
104104
105105 #[ pyproperty( name = "__context__" ) ]
106106 pub fn context ( & self ) -> Option < PyBaseExceptionRef > {
107- self . context . read ( ) . unwrap ( ) . clone ( )
107+ self . context . read ( ) . clone ( )
108108 }
109109
110110 #[ pyproperty( name = "__context__" , setter) ]
111111 pub fn set_context ( & self , context : Option < PyBaseExceptionRef > ) {
112- * self . context . write ( ) . unwrap ( ) = context;
112+ * self . context . write ( ) = context;
113113 }
114114
115115 #[ pyproperty( name = "__suppress_context__" ) ]
@@ -124,7 +124,7 @@ impl PyBaseException {
124124
125125 #[ pymethod]
126126 fn with_traceback ( zelf : PyRef < Self > , tb : Option < PyTracebackRef > ) -> PyResult {
127- * zelf. traceback . write ( ) . unwrap ( ) = tb;
127+ * zelf. traceback . write ( ) = tb;
128128 Ok ( zelf. as_object ( ) . clone ( ) )
129129 }
130130
@@ -216,7 +216,7 @@ pub fn write_exception_inner<W: Write>(
216216 vm : & VirtualMachine ,
217217 exc : & PyBaseExceptionRef ,
218218) -> io:: Result < ( ) > {
219- if let Some ( tb) = exc. traceback . read ( ) . unwrap ( ) . clone ( ) {
219+ if let Some ( tb) = exc. traceback . read ( ) . clone ( ) {
220220 writeln ! ( output, "Traceback (most recent call last):" ) ?;
221221 for tb in tb. iter ( ) {
222222 write_traceback_entry ( output, & tb) ?;
@@ -430,7 +430,7 @@ impl ExceptionZoo {
430430 pub fn new ( type_type : & PyClassRef , object_type : & PyClassRef ) -> Self {
431431 let create_exception_type = |name : & str , base : & PyClassRef | {
432432 let typ = create_type ( name, type_type, base) ;
433- typ. slots . write ( ) . unwrap ( ) . flags |= PyTpFlags :: BASETYPE ;
433+ typ. slots . write ( ) . flags |= PyTpFlags :: BASETYPE ;
434434 typ
435435 } ;
436436 // Sorted By Hierarchy then alphabetized.
@@ -609,7 +609,6 @@ fn make_arg_getter(idx: usize) -> impl Fn(PyBaseExceptionRef, &VirtualMachine) -
609609 move |exc, vm| {
610610 exc. args
611611 . read ( )
612- . unwrap ( )
613612 . as_slice ( )
614613 . get ( idx)
615614 . cloned ( )
0 commit comments