@@ -7,7 +7,7 @@ use toml::{self, value::Array, Value};
7
7
pub ( super ) struct TomlFrobber < ' a > {
8
8
krate : & ' a Crate ,
9
9
table : Table ,
10
- dir : & ' a Path ,
10
+ dir : Option < & ' a Path > ,
11
11
}
12
12
13
13
impl < ' a > TomlFrobber < ' a > {
@@ -18,14 +18,18 @@ impl<'a> TomlFrobber<'a> {
18
18
let table: Table = toml:: from_str ( & toml_content)
19
19
. with_context ( |_| format ! ( "unable to parse {}" , cargo_toml. display( ) , ) ) ?;
20
20
21
- let dir = cargo_toml. parent ( ) . unwrap ( ) ;
21
+ let dir = cargo_toml. parent ( ) ;
22
22
23
23
Ok ( TomlFrobber { krate, table, dir } )
24
24
}
25
25
26
26
#[ cfg( test) ]
27
27
fn new_with_table ( krate : & ' a Crate , table : Table ) -> Self {
28
- TomlFrobber { krate, table }
28
+ TomlFrobber {
29
+ krate,
30
+ table,
31
+ dir : None ,
32
+ }
29
33
}
30
34
31
35
pub ( super ) fn frob ( & mut self ) {
@@ -59,15 +63,13 @@ impl<'a> TomlFrobber<'a> {
59
63
60
64
fn remove_missing_items ( & mut self , category : & str ) {
61
65
let folder = & ( String :: from ( category) + "s" ) ;
62
-
63
- let _krate = self . krate . to_string ( ) ;
64
- let dir = self . dir ;
65
-
66
- if let Some ( array) = self . table . get_mut ( category) {
67
- let array = array. as_array_mut ( ) . unwrap ( ) ;
68
- let dim = array. len ( ) ;
69
- * ( array) = Self :: test_existance ( dir, array, folder) ;
70
- info ! ( "removed {} missing {}" , dim - array. len( ) , folder) ;
66
+ if let Some ( dir) = self . dir {
67
+ if let Some ( array) = self . table . get_mut ( category) {
68
+ let array = array. as_array_mut ( ) . unwrap ( ) ;
69
+ let dim = array. len ( ) ;
70
+ * ( array) = Self :: test_existance ( dir, array, folder) ;
71
+ info ! ( "removed {} missing {}" , dim - array. len( ) , folder) ;
72
+ }
71
73
}
72
74
}
73
75
0 commit comments