1
- use rustc_data_structures:: stable_hasher:: { HashStable , StableHasher } ; //, StableOrd};
2
- use crate :: HashStableContext ;
3
1
use crate :: expand:: typetree:: TypeTree ;
4
2
use thin_vec:: ThinVec ;
5
3
use std:: str:: FromStr ;
6
4
7
5
use crate :: NestedMetaItem ;
8
6
9
7
#[ allow( dead_code) ]
10
- #[ derive( Clone , Copy , Eq , PartialEq , Encodable , Decodable , Debug ) ]
8
+ #[ derive( Clone , Copy , Eq , PartialEq , Encodable , Decodable , Debug , HashStable_Generic ) ]
11
9
pub enum DiffMode {
12
10
Inactive ,
13
11
Source ,
@@ -16,44 +14,16 @@ pub enum DiffMode {
16
14
}
17
15
18
16
#[ allow( dead_code) ]
19
- #[ derive( Clone , Copy , Eq , PartialEq , Encodable , Decodable , Debug ) ]
17
+ #[ derive( Clone , Copy , Eq , PartialEq , Encodable , Decodable , Debug , HashStable_Generic ) ]
20
18
pub enum DiffActivity {
21
19
None ,
22
20
Active ,
23
21
Const ,
22
+ Dual ,
23
+ DualNoNeed ,
24
24
Duplicated ,
25
25
DuplicatedNoNeed ,
26
26
}
27
- fn clause_diffactivity_discriminant ( value : & DiffActivity ) -> usize {
28
- match value {
29
- DiffActivity :: None => 0 ,
30
- DiffActivity :: Active => 1 ,
31
- DiffActivity :: Const => 2 ,
32
- DiffActivity :: Duplicated => 3 ,
33
- DiffActivity :: DuplicatedNoNeed => 4 ,
34
- }
35
- }
36
- fn clause_diffmode_discriminant ( value : & DiffMode ) -> usize {
37
- match value {
38
- DiffMode :: Inactive => 0 ,
39
- DiffMode :: Source => 1 ,
40
- DiffMode :: Forward => 2 ,
41
- DiffMode :: Reverse => 3 ,
42
- }
43
- }
44
-
45
-
46
- impl < CTX : HashStableContext > HashStable < CTX > for DiffMode {
47
- fn hash_stable ( & self , hcx : & mut CTX , hasher : & mut StableHasher ) {
48
- clause_diffmode_discriminant ( self ) . hash_stable ( hcx, hasher) ;
49
- }
50
- }
51
-
52
- impl < CTX : HashStableContext > HashStable < CTX > for DiffActivity {
53
- fn hash_stable ( & self , hcx : & mut CTX , hasher : & mut StableHasher ) {
54
- clause_diffactivity_discriminant ( self ) . hash_stable ( hcx, hasher) ;
55
- }
56
- }
57
27
58
28
impl FromStr for DiffMode {
59
29
type Err = ( ) ;
@@ -74,6 +44,8 @@ impl FromStr for DiffActivity {
74
44
"None" => Ok ( DiffActivity :: None ) ,
75
45
"Active" => Ok ( DiffActivity :: Active ) ,
76
46
"Const" => Ok ( DiffActivity :: Const ) ,
47
+ "Dual" => Ok ( DiffActivity :: Dual ) ,
48
+ "DualNoNeed" => Ok ( DiffActivity :: DualNoNeed ) ,
77
49
"Duplicated" => Ok ( DiffActivity :: Duplicated ) ,
78
50
"DuplicatedNoNeed" => Ok ( DiffActivity :: DuplicatedNoNeed ) ,
79
51
_ => Err ( ( ) ) ,
0 commit comments