@@ -32,32 +32,17 @@ 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 =
40+ ( std:: hash:: BuildHasher :: hash_one ( & __random, __i) % ( __i + 1 ) as u64 ) as isize ;
41+ let __x = RandomAccessIterator :: Vec ( ( v. as_pointer ( ) as Ptr < i32 > ) ) . iter_at ( __i) ;
42+ let __y = RandomAccessIterator :: Vec ( ( v. as_pointer ( ) as Ptr < i32 > ) ) . iter_at ( __j) ;
43+ let __tmp = __x. read ( ) ;
44+ __x. write ( __y. read ( ) ) ;
45+ __y. write ( __tmp) ;
6146 }
6247 } ;
6348 {
0 commit comments