@@ -80,30 +80,38 @@ let _: () = msg_send![obj, setArg1:1 arg2:2];
8080macro_rules! msg_send {
8181 ( super ( $obj: expr, $superclass: expr) , $name: ident) => ( {
8282 let sel = $crate:: sel!( $name) ;
83+ let result;
8384 match $crate:: __send_super_message( & * $obj, $superclass, sel, ( ) ) {
8485 Err ( s) => panic!( "{}" , s) ,
85- Ok ( r) => r,
86+ Ok ( r) => result = r,
8687 }
88+ result
8789 } ) ;
8890 ( super ( $obj: expr, $superclass: expr) , $( $name: ident : $arg: expr) +) => ( {
8991 let sel = $crate:: sel!( $( $name: ) +) ;
92+ let result;
9093 match $crate:: __send_super_message( & * $obj, $superclass, sel, ( $( $arg, ) * ) ) {
9194 Err ( s) => panic!( "{}" , s) ,
92- Ok ( r) => r,
95+ Ok ( r) => result = r,
9396 }
97+ result
9498 } ) ;
9599 ( $obj: expr, $name: ident) => ( {
96100 let sel = $crate:: sel!( $name) ;
101+ let result;
97102 match $crate:: __send_message( & * $obj, sel, ( ) ) {
98103 Err ( s) => panic!( "{}" , s) ,
99- Ok ( r) => r,
104+ Ok ( r) => result = r,
100105 }
106+ result
101107 } ) ;
102108 ( $obj: expr, $( $name: ident : $arg: expr) +) => ( {
103109 let sel = $crate:: sel!( $( $name: ) +) ;
110+ let result;
104111 match $crate:: __send_message( & * $obj, sel, ( $( $arg, ) * ) ) {
105112 Err ( s) => panic!( "{}" , s) ,
106- Ok ( r) => r,
113+ Ok ( r) => result = r,
107114 }
115+ result
108116 } ) ;
109117}
0 commit comments