1
- use crate :: expand:: typetree:: TypeTree ;
2
- use std:: str:: FromStr ;
3
1
use std:: fmt:: { self , Display , Formatter } ;
2
+ use std:: str:: FromStr ;
3
+
4
+ use crate :: expand:: typetree:: TypeTree ;
5
+ use crate :: expand:: { Decodable , Encodable , HashStable_Generic } ;
4
6
use crate :: ptr:: P ;
5
7
use crate :: { Ty , TyKind } ;
6
8
7
- use crate :: expand:: HashStable_Generic ;
8
- use crate :: expand:: Encodable ;
9
- use crate :: expand:: Decodable ;
10
-
11
9
#[ derive( Clone , Copy , Eq , PartialEq , Encodable , Decodable , Debug , HashStable_Generic ) ]
12
10
pub enum DiffMode {
13
11
Inactive ,
@@ -53,14 +51,14 @@ pub fn valid_ret_activity(mode: DiffMode, activity: DiffActivity) -> bool {
53
51
DiffMode :: Inactive => false ,
54
52
DiffMode :: Source => false ,
55
53
DiffMode :: Forward | DiffMode :: ForwardFirst => {
56
- activity == DiffActivity :: Dual ||
57
- activity == DiffActivity :: DualOnly ||
58
- activity == DiffActivity :: Const
54
+ activity == DiffActivity :: Dual
55
+ || activity == DiffActivity :: DualOnly
56
+ || activity == DiffActivity :: Const
59
57
}
60
58
DiffMode :: Reverse | DiffMode :: ReverseFirst => {
61
- activity == DiffActivity :: Const ||
62
- activity == DiffActivity :: Active ||
63
- activity == DiffActivity :: ActiveOnly
59
+ activity == DiffActivity :: Const
60
+ || activity == DiffActivity :: Active
61
+ || activity == DiffActivity :: ActiveOnly
64
62
}
65
63
}
66
64
}
@@ -77,11 +75,11 @@ fn is_ptr_or_ref(ty: &Ty) -> bool {
77
75
//}
78
76
pub fn valid_ty_for_activity ( ty : & P < Ty > , activity : DiffActivity ) -> bool {
79
77
if is_ptr_or_ref ( ty) {
80
- return activity == DiffActivity :: Dual ||
81
- activity == DiffActivity :: DualOnly ||
82
- activity == DiffActivity :: Duplicated ||
83
- activity == DiffActivity :: DuplicatedOnly ||
84
- activity == DiffActivity :: Const ;
78
+ return activity == DiffActivity :: Dual
79
+ || activity == DiffActivity :: DualOnly
80
+ || activity == DiffActivity :: Duplicated
81
+ || activity == DiffActivity :: DuplicatedOnly
82
+ || activity == DiffActivity :: Const ;
85
83
}
86
84
true
87
85
//if is_scalar_ty(&ty) {
@@ -90,24 +88,24 @@ pub fn valid_ty_for_activity(ty: &P<Ty>, activity: DiffActivity) -> bool {
90
88
//}
91
89
}
92
90
pub fn valid_input_activity ( mode : DiffMode , activity : DiffActivity ) -> bool {
93
- return match mode {
94
- DiffMode :: Inactive => false ,
95
- DiffMode :: Source => false ,
96
- DiffMode :: Forward | DiffMode :: ForwardFirst => {
97
- // These are the only valid cases
98
- activity == DiffActivity :: Dual ||
99
- activity == DiffActivity :: DualOnly ||
100
- activity == DiffActivity :: Const
101
- }
102
- DiffMode :: Reverse | DiffMode :: ReverseFirst => {
103
- // These are the only valid cases
104
- activity == DiffActivity :: Active ||
105
- activity == DiffActivity :: ActiveOnly ||
106
- activity == DiffActivity :: Const ||
107
- activity == DiffActivity :: Duplicated ||
108
- activity == DiffActivity :: DuplicatedOnly
109
- }
110
- } ;
91
+ return match mode {
92
+ DiffMode :: Inactive => false ,
93
+ DiffMode :: Source => false ,
94
+ DiffMode :: Forward | DiffMode :: ForwardFirst => {
95
+ // These are the only valid cases
96
+ activity == DiffActivity :: Dual
97
+ || activity == DiffActivity :: DualOnly
98
+ || activity == DiffActivity :: Const
99
+ }
100
+ DiffMode :: Reverse | DiffMode :: ReverseFirst => {
101
+ // These are the only valid cases
102
+ activity == DiffActivity :: Active
103
+ || activity == DiffActivity :: ActiveOnly
104
+ || activity == DiffActivity :: Const
105
+ || activity == DiffActivity :: Duplicated
106
+ || activity == DiffActivity :: DuplicatedOnly
107
+ }
108
+ } ;
111
109
}
112
110
pub fn invalid_input_activities ( mode : DiffMode , activity_vec : & [ DiffActivity ] ) -> Option < usize > {
113
111
for i in 0 ..activity_vec. len ( ) {
@@ -129,7 +127,7 @@ pub enum DiffActivity {
129
127
DualOnly ,
130
128
Duplicated ,
131
129
DuplicatedOnly ,
132
- FakeActivitySize
130
+ FakeActivitySize ,
133
131
}
134
132
135
133
impl Display for DiffActivity {
@@ -223,9 +221,7 @@ impl AutoDiffAttrs {
223
221
pub fn is_active ( & self ) -> bool {
224
222
match self . mode {
225
223
DiffMode :: Inactive => false ,
226
- _ => {
227
- true
228
- }
224
+ _ => true ,
229
225
}
230
226
}
231
227
@@ -239,9 +235,7 @@ impl AutoDiffAttrs {
239
235
match self . mode {
240
236
DiffMode :: Inactive => false ,
241
237
DiffMode :: Source => false ,
242
- _ => {
243
- true
244
- }
238
+ _ => true ,
245
239
}
246
240
}
247
241
0 commit comments