@@ -80,7 +80,7 @@ impl PyBaseException {
8080 }
8181
8282 #[ pyproperty( name = "__traceback__" ) ]
83- fn get_traceback ( & self , _vm : & VirtualMachine ) -> Option < PyTracebackRef > {
83+ fn get_traceback ( & self ) -> Option < PyTracebackRef > {
8484 self . traceback . borrow ( ) . clone ( )
8585 }
8686
@@ -95,8 +95,13 @@ impl PyBaseException {
9595 }
9696
9797 #[ pyproperty( name = "__cause__" , setter) ]
98- fn setter_cause ( & self , cause : Option < PyBaseExceptionRef > , _vm : & VirtualMachine ) {
98+ fn setter_cause (
99+ & self ,
100+ cause : Option < PyBaseExceptionRef > ,
101+ _vm : & VirtualMachine ,
102+ ) -> PyResult < ( ) > {
99103 self . cause . replace ( cause) ;
104+ Ok ( ( ) )
100105 }
101106
102107 #[ pyproperty( name = "__context__" ) ]
@@ -105,8 +110,13 @@ impl PyBaseException {
105110 }
106111
107112 #[ pyproperty( name = "__context__" , setter) ]
108- fn setter_context ( & self , context : Option < PyBaseExceptionRef > , _vm : & VirtualMachine ) {
113+ fn setter_context (
114+ & self ,
115+ context : Option < PyBaseExceptionRef > ,
116+ _vm : & VirtualMachine ,
117+ ) -> PyResult < ( ) > {
109118 self . context . replace ( context) ;
119+ Ok ( ( ) )
110120 }
111121
112122 #[ pyproperty( name = "__suppress_context__" ) ]
@@ -634,48 +644,44 @@ pub fn init(ctx: &PyContext) {
634644 PyBaseException :: extend_class ( ctx, & excs. base_exception_type ) ;
635645
636646 extend_class ! ( ctx, & excs. syntax_error, {
637- "msg" => ctx. new_property( make_arg_getter( 0 ) ) ,
638- "filename" => ctx. new_property( make_arg_getter( 1 ) ) ,
639- "lineno" => ctx. new_property( make_arg_getter( 2 ) ) ,
640- "offset" => ctx. new_property( make_arg_getter( 3 ) ) ,
641- "text" => ctx. new_property( make_arg_getter( 4 ) ) ,
647+ "msg" => ctx. new_readonly_getset( "msg" , make_arg_getter( 0 ) ) ,
642648 } ) ;
643649
644650 extend_class ! ( ctx, & excs. import_error, {
645651 "__init__" => ctx. new_method( import_error_init) ,
646- "msg" => ctx. new_property ( make_arg_getter( 0 ) ) ,
652+ "msg" => ctx. new_readonly_getset ( "msg" , make_arg_getter( 0 ) ) ,
647653 } ) ;
648654
649655 extend_class ! ( ctx, & excs. stop_iteration, {
650- "value" => ctx. new_property ( make_arg_getter( 0 ) ) ,
656+ "value" => ctx. new_readonly_getset ( "value" , make_arg_getter( 0 ) ) ,
651657 } ) ;
652658
653659 extend_class ! ( ctx, & excs. key_error, {
654660 "__str__" => ctx. new_method( key_error_str) ,
655661 } ) ;
656662
657663 extend_class ! ( ctx, & excs. unicode_decode_error, {
658- "encoding" => ctx. new_property ( make_arg_getter( 0 ) ) ,
659- "object" => ctx. new_property ( make_arg_getter( 1 ) ) ,
660- "start" => ctx. new_property ( make_arg_getter( 2 ) ) ,
661- "end" => ctx. new_property ( make_arg_getter( 3 ) ) ,
662- "reason" => ctx. new_property ( make_arg_getter( 4 ) ) ,
664+ "encoding" => ctx. new_readonly_getset ( "encoding" , make_arg_getter( 0 ) ) ,
665+ "object" => ctx. new_readonly_getset ( "object" , make_arg_getter( 1 ) ) ,
666+ "start" => ctx. new_readonly_getset ( "start" , make_arg_getter( 2 ) ) ,
667+ "end" => ctx. new_readonly_getset ( "end" , make_arg_getter( 3 ) ) ,
668+ "reason" => ctx. new_readonly_getset ( "reason" , make_arg_getter( 4 ) ) ,
663669 } ) ;
664670
665671 extend_class ! ( ctx, & excs. unicode_encode_error, {
666- "encoding" => ctx. new_property ( make_arg_getter( 0 ) ) ,
667- "object" => ctx. new_property ( make_arg_getter( 1 ) ) ,
668- "start" => ctx. new_property ( make_arg_getter( 2 ) ) ,
669- "end" => ctx. new_property ( make_arg_getter( 3 ) ) ,
670- "reason" => ctx. new_property ( make_arg_getter( 4 ) ) ,
672+ "encoding" => ctx. new_readonly_getset ( "encoding" , make_arg_getter( 0 ) ) ,
673+ "object" => ctx. new_readonly_getset ( "object" , make_arg_getter( 1 ) ) ,
674+ "start" => ctx. new_readonly_getset ( "start" , make_arg_getter( 2 ) ) ,
675+ "end" => ctx. new_readonly_getset ( "end" , make_arg_getter( 3 ) ) ,
676+ "reason" => ctx. new_readonly_getset ( "reason" , make_arg_getter( 4 ) ) ,
671677 } ) ;
672678
673679 extend_class ! ( ctx, & excs. unicode_translate_error, {
674- "encoding" => ctx. new_property ( none_getter) ,
675- "object" => ctx. new_property ( make_arg_getter( 0 ) ) ,
676- "start" => ctx. new_property ( make_arg_getter( 1 ) ) ,
677- "end" => ctx. new_property ( make_arg_getter( 2 ) ) ,
678- "reason" => ctx. new_property ( make_arg_getter( 3 ) ) ,
680+ "encoding" => ctx. new_readonly_getset ( "encoding" , none_getter) ,
681+ "object" => ctx. new_readonly_getset ( "object" , make_arg_getter( 0 ) ) ,
682+ "start" => ctx. new_readonly_getset ( "start" , make_arg_getter( 1 ) ) ,
683+ "end" => ctx. new_readonly_getset ( "end" , make_arg_getter( 2 ) ) ,
684+ "reason" => ctx. new_readonly_getset ( "reason" , make_arg_getter( 3 ) ) ,
679685 } ) ;
680686}
681687
0 commit comments