@@ -18,9 +18,18 @@ pub(crate) fn upgrade_requirement(
18
18
let comparators: CargoResult < Vec < _ > > = raw_req
19
19
. comparators
20
20
. into_iter ( )
21
- . map ( |p| set_comparator ( p, version) )
21
+ . filter_map ( |p| {
22
+ if p. pre . is_empty ( ) {
23
+ Some ( set_comparator ( p, version) )
24
+ } else {
25
+ None
26
+ }
27
+ } )
22
28
. collect ( ) ;
23
- let comparators = comparators?;
29
+ let comparators: Vec < _ > = comparators?;
30
+ if comparators. is_empty ( ) {
31
+ return Ok ( None ) ;
32
+ }
24
33
let new_req = semver:: VersionReq { comparators } ;
25
34
let mut new_req_text = new_req. to_string ( ) ;
26
35
if new_req_text. starts_with ( '^' ) && !req. starts_with ( '^' ) {
@@ -219,8 +228,12 @@ mod test {
219
228
}
220
229
221
230
#[ test]
222
- fn caret_prerelease ( ) {
223
- assert_req_bump ( "1.7.0" , "2.0.0-beta.21" , "1.7.0" ) ;
231
+ fn ignore_prerelease ( ) {
232
+ assert_req_bump ( "1.7.0" , "2.0.0-beta.21" , None ) ;
233
+ assert_req_bump ( "1.7.0" , ">=2.0.0-beta.21" , None ) ;
234
+ assert_req_bump ( "1.7.0" , ">2.0.0-beta.21" , None ) ;
235
+ assert_req_bump ( "1.7.0" , "<=2.0.0-beta.21" , None ) ;
236
+ assert_req_bump ( "1.7.0" , "<2.0.0-beta.21" , None ) ;
224
237
}
225
238
}
226
239
}
0 commit comments