@@ -263,7 +263,18 @@ pub fn emplace_ctor_args_7(pairs: Ptr<Vec<Pair>>) {
263263 ( * pairs. borrow ( ) ) . with_mut ( |__v : & mut Vec < Pair > | __v. push ( __init) )
264264 } ;
265265}
266- pub fn emplace_scalar_8 ( values : Ptr < Vec < i64 > > , x : i32 ) {
266+ pub fn emplace_deque_8 ( queue : Ptr < Vec < Pair > > ) {
267+ let queue: Value < Ptr < Vec < Pair > > > = Rc :: new ( RefCell :: new ( queue) ) ;
268+ {
269+ let __init = Pair :: Pair3 ( { 6 } , { 7 } ) ;
270+ ( * queue. borrow ( ) ) . with_mut ( |__v : & mut Vec < Pair > | __v. push ( __init) )
271+ } ;
272+ {
273+ let __init = Pair :: Pair1 ( ) ;
274+ ( * queue. borrow ( ) ) . with_mut ( |__v : & mut Vec < Pair > | __v. push ( __init) )
275+ } ;
276+ }
277+ pub fn emplace_scalar_9 ( values : Ptr < Vec < i64 > > , x : i32 ) {
267278 let values: Value < Ptr < Vec < i64 > > > = Rc :: new ( RefCell :: new ( values) ) ;
268279 let x: Value < i32 > = Rc :: new ( RefCell :: new ( x) ) ;
269280 {
@@ -464,8 +475,36 @@ fn main_0() -> i32 {
464475 . borrow( ) )
465476 == 10 )
466477 ) ;
478+ let queue: Value < Vec < Pair > > = Rc :: new ( RefCell :: new ( Default :: default ( ) ) ) ;
479+ ( { emplace_deque_8 ( ( queue. as_pointer ( ) ) ) } ) ;
480+ assert ! (
481+ ( ( * ( * ( queue. as_pointer( ) as Ptr <Pair >) . upgrade( ) . deref( ) )
482+ . first
483+ . borrow( ) )
484+ == 6 )
485+ && ( ( * ( * ( queue. as_pointer( ) as Ptr <Pair >) . upgrade( ) . deref( ) )
486+ . second
487+ . borrow( ) )
488+ == 14 )
489+ ) ;
490+ assert ! (
491+ ( ( * ( * ( queue. as_pointer( ) as Ptr <Pair >)
492+ . to_last( )
493+ . upgrade( )
494+ . deref( ) )
495+ . first
496+ . borrow( ) )
497+ == -1_i32 )
498+ && ( ( * ( * ( queue. as_pointer( ) as Ptr <Pair >)
499+ . to_last( )
500+ . upgrade( )
501+ . deref( ) )
502+ . second
503+ . borrow( ) )
504+ == -1_i32 )
505+ ) ;
467506 let values: Value < Vec < i64 > > = Rc :: new ( RefCell :: new ( Vec :: new ( ) ) ) ;
468- ( { emplace_scalar_8 ( ( values. as_pointer ( ) ) , 7 ) } ) ;
507+ ( { emplace_scalar_9 ( ( values. as_pointer ( ) ) , 7 ) } ) ;
469508 assert ! ( ( ( * values. borrow( ) ) . len( ) == 2_usize ) ) ;
470509 assert ! ( ( ( ( values. as_pointer( ) as Ptr <i64 >) . offset( 0_usize ) . read( ) ) == 0_i64 ) ) ;
471510 assert ! ( ( ( ( values. as_pointer( ) as Ptr <i64 >) . offset( 1_usize ) . read( ) ) == 7_i64 ) ) ;
0 commit comments