@@ -80,7 +80,7 @@ impl PyBaseException {
80
80
}
81
81
82
82
#[ pyproperty( name = "__traceback__" ) ]
83
- fn get_traceback ( & self , _vm : & VirtualMachine ) -> Option < PyTracebackRef > {
83
+ fn get_traceback ( & self ) -> Option < PyTracebackRef > {
84
84
self . traceback . borrow ( ) . clone ( )
85
85
}
86
86
@@ -95,8 +95,13 @@ impl PyBaseException {
95
95
}
96
96
97
97
#[ 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 < ( ) > {
99
103
self . cause . replace ( cause) ;
104
+ Ok ( ( ) )
100
105
}
101
106
102
107
#[ pyproperty( name = "__context__" ) ]
@@ -105,8 +110,13 @@ impl PyBaseException {
105
110
}
106
111
107
112
#[ 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 < ( ) > {
109
118
self . context . replace ( context) ;
119
+ Ok ( ( ) )
110
120
}
111
121
112
122
#[ pyproperty( name = "__suppress_context__" ) ]
@@ -634,48 +644,44 @@ pub fn init(ctx: &PyContext) {
634
644
PyBaseException :: extend_class ( ctx, & excs. base_exception_type ) ;
635
645
636
646
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 ) ) ,
642
648
} ) ;
643
649
644
650
extend_class ! ( ctx, & excs. import_error, {
645
651
"__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 ) ) ,
647
653
} ) ;
648
654
649
655
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 ) ) ,
651
657
} ) ;
652
658
653
659
extend_class ! ( ctx, & excs. key_error, {
654
660
"__str__" => ctx. new_method( key_error_str) ,
655
661
} ) ;
656
662
657
663
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 ) ) ,
663
669
} ) ;
664
670
665
671
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 ) ) ,
671
677
} ) ;
672
678
673
679
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 ) ) ,
679
685
} ) ;
680
686
}
681
687
0 commit comments