@@ -6,6 +6,15 @@ use std::io::prelude::*;
66use std:: io:: { Read , Seek , Write } ;
77use std:: os:: fd:: AsFd ;
88use std:: rc:: { Rc , Weak } ;
9+ pub fn sink_0 ( it : RefcountMapIter < i32 , i32 > ) -> i32 {
10+ let it: Value < RefcountMapIter < i32 , i32 > > = Rc :: new ( RefCell :: new ( it) ) ;
11+ let cit: Value < RefcountMapIter < i32 , i32 > > = Rc :: new ( RefCell :: new ( ( * it. borrow ( ) ) . clone ( ) ) ) ;
12+ return if ( * cit. borrow ( ) ) == ( * it. borrow ( ) ) . clone ( ) {
13+ ( * ( * it. borrow ( ) ) . second ( ) . borrow ( ) )
14+ } else {
15+ 0
16+ } ;
17+ }
918pub fn main ( ) {
1019 std:: process:: exit ( main_0 ( ) ) ;
1120}
@@ -21,12 +30,26 @@ fn main_0() -> i32 {
2130 let end: Value < RefcountMapIter < i32 , i32 > > = Rc :: new ( RefCell :: new ( RefcountMapIter :: end (
2231 ( m. as_pointer ( ) as Ptr < BTreeMap < i32 , Value < i32 > > > ) ,
2332 ) ) ) ;
24- let const_it: Value < RefcountMapIter < i32 , i32 > > = Rc :: new ( RefCell :: new (
25- RefcountMapIter :: find_key ( ( m. as_pointer ( ) as Ptr < BTreeMap < i32 , Value < i32 > > > ) , & 0 ) ,
33+ let it0: Value < RefcountMapIter < i32 , i32 > > = Rc :: new ( RefCell :: new ( RefcountMapIter :: find_key (
34+ ( m. as_pointer ( ) as Ptr < BTreeMap < i32 , Value < i32 > > > ) ,
35+ & 0 ,
36+ ) ) ) ;
37+ let const_it: Value < RefcountMapIter < i32 , i32 > > = Rc :: new ( RefCell :: new ( ( * it0. borrow ( ) ) . clone ( ) ) ) ;
38+ let r: Value < i32 > = Rc :: new ( RefCell :: new (
39+ if ( * const_it. borrow ( ) ) == ( * end. borrow ( ) ) . clone ( ) {
40+ 0
41+ } else {
42+ 1
43+ } ,
2644 ) ) ;
27- return if ( * const_it. borrow ( ) ) == ( * end. borrow ( ) ) {
45+ ( * r. borrow_mut ( ) ) += ( {
46+ let _it: RefcountMapIter < i32 , i32 > = ( * it0. borrow ( ) ) . clone ( ) ;
47+ sink_0 ( _it)
48+ } ) ;
49+ ( * r. borrow_mut ( ) ) += if ( * end. borrow ( ) ) == ( * end. borrow ( ) ) {
2850 0
2951 } else {
3052 1
3153 } ;
54+ return ( * r. borrow ( ) ) ;
3255}
0 commit comments