@@ -4,39 +4,22 @@ use rustc_index::vec::Idx;
4
4
5
5
#[ derive( Default ) ]
6
6
pub struct AppendOnlyIndexVec < I : Idx , T : Copy > {
7
- #[ cfg( not( parallel_compiler) ) ]
8
- vec : elsa:: vec:: FrozenVec < T > ,
9
- #[ cfg( parallel_compiler) ]
10
7
vec : elsa:: sync:: LockFreeFrozenVec < T > ,
11
8
_marker : PhantomData < fn ( & I ) > ,
12
9
}
13
10
14
11
impl < I : Idx , T : Copy > AppendOnlyIndexVec < I , T > {
15
12
pub fn new ( ) -> Self {
16
- Self {
17
- #[ cfg( not( parallel_compiler) ) ]
18
- vec : elsa:: vec:: FrozenVec :: new ( ) ,
19
- #[ cfg( parallel_compiler) ]
20
- vec : elsa:: sync:: LockFreeFrozenVec :: new ( ) ,
21
- _marker : PhantomData ,
22
- }
13
+ Self { vec : elsa:: sync:: LockFreeFrozenVec :: new ( ) , _marker : PhantomData }
23
14
}
24
15
25
16
pub fn push ( & self , val : T ) -> I {
26
- #[ cfg( not( parallel_compiler) ) ]
27
- let i = self . vec . len ( ) ;
28
- #[ cfg( not( parallel_compiler) ) ]
29
- self . vec . push ( val) ;
30
- #[ cfg( parallel_compiler) ]
31
17
let i = self . vec . push ( val) ;
32
18
I :: new ( i)
33
19
}
34
20
35
21
pub fn get ( & self , i : I ) -> Option < T > {
36
22
let i = i. index ( ) ;
37
- #[ cfg( not( parallel_compiler) ) ]
38
- return self . vec . get_copy ( i) ;
39
- #[ cfg( parallel_compiler) ]
40
23
return self . vec . get ( i) ;
41
24
}
42
25
}
0 commit comments