@@ -143,8 +143,8 @@ pub fn scaled_2(x: A, n: Option<i32>) -> i32 {
143143 let n: Value < i32 > = Rc :: new ( RefCell :: new ( n. unwrap_or ( ( 4usize as i32 ) ) ) ) ;
144144 return ( ( * ( * x. borrow ( ) ) . v . borrow ( ) ) * ( * n. borrow ( ) ) ) ;
145145}
146- pub fn always_given_3 ( x : Option < NoDefault > ) -> i32 {
147- let x: Value < NoDefault > = Rc :: new ( RefCell :: new ( x. unwrap_or ( ) ) ) ;
146+ pub fn always_given_3 ( x : NoDefault ) -> i32 {
147+ let x: Value < NoDefault > = Rc :: new ( RefCell :: new ( x) ) ;
148148 return ( * ( * x. borrow ( ) ) . v . borrow ( ) ) ;
149149}
150150#[ derive( Default ) ]
@@ -193,19 +193,17 @@ fn main_0() -> i32 {
193193 assert ! ( ( ( { used_1( None , ) } ) == 2 ) ) ;
194194 assert ! ( ( ( { scaled_2( A :: A2 ( { 3 } , ) , None , ) } ) == ( 3 * ( 4usize as i32 ) ) ) ) ;
195195 assert ! ( ( ( { scaled_2( A :: A2 ( { 3 } , ) , Some ( 2 ) , ) } ) == 6 ) ) ;
196- assert ! ( ( ( { always_given_3( Some ( NoDefault :: NoDefault ( { 3 } , ) ) , ) } ) == 3 ) ) ;
196+ assert ! ( ( ( { always_given_3( NoDefault :: NoDefault ( { 3 } , ) , ) } ) == 3 ) ) ;
197197 let s: Value < S_NoDefault_ > = Rc :: new ( RefCell :: new ( S_NoDefault_ :: S_NoDefault_ ( { 1 } ) ) ) ;
198- assert ! (
199- ( ( { S_NoDefault_Impl :: get( & s. as_pointer( ) , Some ( NoDefault :: NoDefault ( { 4 } , ) ) , ) } ) == 5 )
200- ) ;
198+ assert ! ( ( ( { S_NoDefault_Impl :: get( & s. as_pointer( ) , NoDefault :: NoDefault ( { 4 } , ) , ) } ) == 5 ) ) ;
201199 return 0 ;
202200}
203201pub trait S_NoDefault_Impl {
204- fn get ( & self , t : Option < NoDefault > ) -> i32 ;
202+ fn get ( & self , t : NoDefault ) -> i32 ;
205203}
206204impl S_NoDefault_Impl for Ptr < S_NoDefault_ > {
207- fn get ( & self , t : Option < NoDefault > ) -> i32 {
208- let t: Value < NoDefault > = Rc :: new ( RefCell :: new ( t. unwrap_or ( ) ) ) ;
205+ fn get ( & self , t : NoDefault ) -> i32 {
206+ let t: Value < NoDefault > = Rc :: new ( RefCell :: new ( t) ) ;
209207 return ( ( * ( * ( * self ) . upgrade ( ) . deref ( ) ) . v . borrow ( ) ) + ( * ( * t. borrow ( ) ) . v . borrow ( ) ) ) ;
210208 }
211209}
0 commit comments