@@ -32,32 +32,16 @@ fn main_0() -> i32 {
3232 assert ! ( ( * it. borrow( ) ) != RandomAccessIterator :: Vec ( ( v. as_pointer( ) as Ptr <i32 >) . to_end( ) ) ) ;
3333 assert ! ( ( ( ( * it. borrow( ) ) . iter_deref( ) . read( ) ) == 7 ) ) ;
3434 {
35- let count = Rc :: new ( RefCell :: new ( RandomAccessIterator :: Vec (
36- ( v. as_pointer ( ) as Ptr < i32 > ) . to_end ( ) ,
37- ) ) )
38- . as_pointer ( )
39- . get_offset ( )
40- - Rc :: new ( RefCell :: new ( RandomAccessIterator :: Vec (
41- ( v. as_pointer ( ) as Ptr < i32 > ) ,
42- ) ) )
43- . as_pointer ( )
44- . get_offset ( ) ;
45- let random = std:: hash:: RandomState :: new ( ) ;
46- for i in ( 1 ..count) . rev ( ) {
47- let j = std:: hash:: BuildHasher :: hash_one ( & random, i) as usize % ( i + 1 ) ;
48- let x = Rc :: new ( RefCell :: new ( RandomAccessIterator :: Vec (
49- ( v. as_pointer ( ) as Ptr < i32 > ) ,
50- ) ) )
51- . as_pointer ( )
52- . offset ( i) ;
53- let y = Rc :: new ( RefCell :: new ( RandomAccessIterator :: Vec (
54- ( v. as_pointer ( ) as Ptr < i32 > ) ,
55- ) ) )
56- . as_pointer ( )
57- . offset ( j) ;
58- let tmp = x. read ( ) ;
59- x. write ( y. read ( ) ) ;
60- y. write ( tmp) ;
35+ let __n = RandomAccessIterator :: Vec ( ( v. as_pointer ( ) as Ptr < i32 > ) . to_end ( ) )
36+ . iter_distance ( & RandomAccessIterator :: Vec ( ( v. as_pointer ( ) as Ptr < i32 > ) ) ) ;
37+ let __random = std:: hash:: RandomState :: new ( ) ;
38+ for __i in ( 1 ..__n) . rev ( ) {
39+ let __j = std:: hash:: BuildHasher :: hash_one ( & __random, __i) as isize % ( __i + 1 ) ;
40+ let __x = RandomAccessIterator :: Vec ( ( v. as_pointer ( ) as Ptr < i32 > ) ) . iter_at ( __i) ;
41+ let __y = RandomAccessIterator :: Vec ( ( v. as_pointer ( ) as Ptr < i32 > ) ) . iter_at ( __j) ;
42+ let __tmp = __x. read ( ) ;
43+ __x. write ( __y. read ( ) ) ;
44+ __y. write ( __tmp) ;
6145 }
6246 } ;
6347 {
0 commit comments