1- use sync:: atomic:: { AtomicUsize , ATOMIC_USIZE_INIT , Ordering } ;
1+ use sync:: atomic:: { AtomicUsize , Ordering } ;
22use ptr;
33use mem;
44use cell:: Cell ;
@@ -15,7 +15,40 @@ macro_rules! dup {
1515 ( ( * $( $exp: tt) * ) $( $val: tt) * ) => ( dup!( ( $( $exp) * ) $( $val) * $( $val) * ) ) ;
1616 ( ( ) $( $val: tt) * ) => ( [ $( $val) ,* ] )
1717}
18- static TLS_DESTRUCTOR : [ AtomicUsize ; TLS_KEYS ] = dup ! ( ( * * * * * * * ) ATOMIC_USIZE_INIT ) ;
18+ static TLS_DESTRUCTOR : [ AtomicUsize ; TLS_KEYS ] = [
19+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
20+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
21+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
22+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
23+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
24+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
25+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
26+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
27+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
28+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
29+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
30+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
31+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
32+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
33+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
34+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
35+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
36+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
37+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
38+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
39+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
40+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
41+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
42+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
43+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
44+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
45+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
46+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
47+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
48+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
49+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
50+ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ,
51+ ] ;
1952
2053extern "C" {
2154 fn get_tls_ptr ( ) -> * const u8 ;
@@ -119,7 +152,7 @@ impl Tls {
119152}
120153
121154mod sync_bitset {
122- use sync:: atomic:: { AtomicUsize , ATOMIC_USIZE_INIT , Ordering } ;
155+ use sync:: atomic:: { AtomicUsize , Ordering } ;
123156 use iter:: { Enumerate , Peekable } ;
124157 use slice:: Iter ;
125158 use super :: { TLS_KEYS_BITSET_SIZE , USIZE_BITS } ;
@@ -128,7 +161,7 @@ mod sync_bitset {
128161 pub ( super ) struct SyncBitset ( [ AtomicUsize ; TLS_KEYS_BITSET_SIZE ] ) ;
129162
130163 pub ( super ) const SYNC_BITSET_INIT : SyncBitset =
131- SyncBitset ( [ ATOMIC_USIZE_INIT , ATOMIC_USIZE_INIT ] ) ;
164+ SyncBitset ( [ AtomicUsize :: new ( 0 ) , AtomicUsize :: new ( 0 ) ] ) ;
132165
133166 impl SyncBitset {
134167 pub fn get ( & self , index : usize ) -> bool {
0 commit comments