@@ -37,11 +37,7 @@ impl Delegate {
37
37
if let Some ( obj) = entry_data ( entry_mode, id) ? {
38
38
for line in obj. data . lines ( ) {
39
39
let version = version_from_json_line ( line, change. location ) ?;
40
- self . changes . push ( if version. yanked {
41
- Change :: Yanked ( version)
42
- } else {
43
- Change :: Added ( version)
44
- } ) ;
40
+ self . changes . push ( version. into ( ) ) ;
45
41
}
46
42
}
47
43
}
@@ -81,13 +77,6 @@ impl Delegate {
81
77
. iter ( )
82
78
. map ( |& line| input. interner [ line] . as_bstr ( ) )
83
79
. peekable ( ) ;
84
- let mut remember = |version : CrateVersion | {
85
- self . changes . push ( if version. yanked {
86
- Change :: Yanked ( version)
87
- } else {
88
- Change :: Added ( version)
89
- } ) ;
90
- } ;
91
80
' outer: loop {
92
81
match ( lines_before. peek ( ) . is_some ( ) , lines_after. peek ( ) . is_some ( ) )
93
82
{
@@ -108,7 +97,7 @@ impl Delegate {
108
97
( false , true ) => {
109
98
for inserted in lines_after {
110
99
match version_from_json_line ( inserted, location) {
111
- Ok ( version) => remember ( version) ,
100
+ Ok ( version) => self . changes . push ( version. into ( ) ) ,
112
101
Err ( e) => {
113
102
err = Some ( e) ;
114
103
break ;
@@ -130,7 +119,7 @@ impl Delegate {
130
119
if removed_version. yanked
131
120
!= inserted_version. yanked
132
121
{
133
- remember ( inserted_version) ;
122
+ self . changes . push ( inserted_version. into ( ) ) ;
134
123
}
135
124
}
136
125
Err ( e) => {
@@ -159,13 +148,16 @@ impl Delegate {
159
148
Some ( err) => Err ( err) ,
160
149
None => {
161
150
if !self . deleted_version_ids . is_empty ( ) {
162
- let deleted_version_ids = & self . deleted_version_ids ;
151
+ let deleted_version_ids = & mut self . deleted_version_ids ;
163
152
self . changes . retain ( |change| match change {
164
153
Change :: Added ( v) | Change :: Yanked ( v) => {
165
- !deleted_version_ids. contains ( & v. id ( ) )
154
+ !deleted_version_ids. remove ( & v. id ( ) )
166
155
}
167
156
Change :: Deleted { .. } => true ,
168
- } )
157
+ } ) ;
158
+ if !self . deleted_version_ids . is_empty ( ) {
159
+ dbg ! ( self . deleted_version_ids. len( ) ) ;
160
+ }
169
161
}
170
162
Ok ( self . changes )
171
163
}
0 commit comments