@@ -35,14 +35,11 @@ impl CfgExpr {
35
35
}
36
36
37
37
/// Return minimal features needed
38
- pub fn minimal_features_needed ( & self ) -> Option < Vec < SmolStr > > {
38
+ pub fn minimal_features_needed ( & self ) -> Vec < SmolStr > {
39
39
let mut features = vec ! [ ] ;
40
40
self . collect_minimal_features_needed ( & mut features) ;
41
- if features. is_empty ( ) {
42
- None
43
- } else {
44
- Some ( features)
45
- }
41
+
42
+ features
46
43
}
47
44
48
45
fn collect_minimal_features_needed ( & self , features : & mut Vec < SmolStr > ) {
@@ -169,26 +166,26 @@ mod tests {
169
166
let ( subtree, _) = get_token_tree_generated ( r#"#![cfg(feature = "baz")]"# ) ;
170
167
let cfg_expr = parse_cfg ( & subtree) ;
171
168
172
- assert_eq ! ( cfg_expr. minimal_features_needed( ) . unwrap ( ) , vec![ SmolStr :: new( "baz" ) ] ) ;
169
+ assert_eq ! ( cfg_expr. minimal_features_needed( ) , vec![ SmolStr :: new( "baz" ) ] ) ;
173
170
174
171
let ( subtree, _) =
175
172
get_token_tree_generated ( r#"#![cfg(all(feature = "baz", feature = "foo"))]"# ) ;
176
173
let cfg_expr = parse_cfg ( & subtree) ;
177
174
178
175
assert_eq ! (
179
- cfg_expr. minimal_features_needed( ) . unwrap ( ) ,
176
+ cfg_expr. minimal_features_needed( ) ,
180
177
vec![ SmolStr :: new( "baz" ) , SmolStr :: new( "foo" ) ]
181
178
) ;
182
179
183
180
let ( subtree, _) =
184
181
get_token_tree_generated ( r#"#![cfg(any(feature = "baz", feature = "foo", unix))]"# ) ;
185
182
let cfg_expr = parse_cfg ( & subtree) ;
186
183
187
- assert_eq ! ( cfg_expr. minimal_features_needed( ) . unwrap ( ) , vec![ SmolStr :: new( "baz" ) ] ) ;
184
+ assert_eq ! ( cfg_expr. minimal_features_needed( ) , vec![ SmolStr :: new( "baz" ) ] ) ;
188
185
189
186
let ( subtree, _) = get_token_tree_generated ( r#"#![cfg(foo)]"# ) ;
190
187
let cfg_expr = parse_cfg ( & subtree) ;
191
188
192
- assert ! ( cfg_expr. minimal_features_needed( ) . is_none ( ) ) ;
189
+ assert ! ( cfg_expr. minimal_features_needed( ) . is_empty ( ) ) ;
193
190
}
194
191
}
0 commit comments