@@ -68,17 +68,17 @@ impl Delegate {
68
68
let mut lines_before = input. before
69
69
[ before. start as usize ..before. end as usize ]
70
70
. iter ( )
71
- . map ( |& line| input. interner [ line] )
71
+ . map ( |& line| input. interner [ line] . as_bstr ( ) )
72
72
. peekable ( ) ;
73
73
let mut lines_after = input. after
74
74
[ after. start as usize ..after. end as usize ]
75
75
. iter ( )
76
- . map ( |& line| input. interner [ line] )
76
+ . map ( |& line| input. interner [ line] . as_bstr ( ) )
77
77
. peekable ( ) ;
78
78
match ( lines_before. peek ( ) . is_some ( ) , lines_after. peek ( ) . is_some ( ) ) {
79
79
( true , false ) => {
80
80
for removed in lines_before {
81
- match version_from_json_line ( removed. as_bstr ( ) , location) {
81
+ match version_from_json_line ( removed, location) {
82
82
Ok ( version) => {
83
83
self . delete_version_ids . insert ( version. id ( ) ) ;
84
84
}
@@ -91,7 +91,7 @@ impl Delegate {
91
91
}
92
92
( false , true ) => {
93
93
for inserted in lines_after {
94
- match version_from_json_line ( inserted. as_bstr ( ) , location) {
94
+ match version_from_json_line ( inserted, location) {
95
95
Ok ( version) => {
96
96
self . changes . push ( if version. yanked {
97
97
Change :: Yanked ( version)
@@ -106,9 +106,25 @@ impl Delegate {
106
106
}
107
107
}
108
108
}
109
- ( true , true ) | ( false , false ) => {
110
- /* ignore modifications, shouldn't exist */
109
+ ( true , true ) => {
110
+ // These should always be yanked, but we check it anyway.
111
+ for inserted in lines_after {
112
+ match version_from_json_line ( inserted, location) {
113
+ Ok ( version) => {
114
+ self . changes . push ( if version. yanked {
115
+ Change :: Yanked ( version)
116
+ } else {
117
+ Change :: Added ( version)
118
+ } ) ;
119
+ }
120
+ Err ( e) => {
121
+ err = Some ( e) ;
122
+ break ;
123
+ }
124
+ }
125
+ }
111
126
}
127
+ ( false , false ) => { }
112
128
}
113
129
} ,
114
130
) ;
0 commit comments