File tree Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -470,9 +470,9 @@ mod tests {
470
470
471
471
let pre = PackageId :: new ( "pre" , "1.2.3-alpha.0" , sid) . unwrap ( ) ;
472
472
assert ! ( PackageIdSpec :: parse( "pre" ) . unwrap( ) . matches( pre) ) ;
473
- assert ! ( PackageIdSpec :: parse( "pre@1" ) . unwrap( ) . matches( pre) ) ;
474
- assert ! ( PackageIdSpec :: parse( "pre@1.2" ) . unwrap( ) . matches( pre) ) ;
475
- assert ! ( PackageIdSpec :: parse( "pre@1.2.3" ) . unwrap( ) . matches( pre) ) ;
473
+ assert ! ( ! PackageIdSpec :: parse( "pre@1" ) . unwrap( ) . matches( pre) ) ;
474
+ assert ! ( ! PackageIdSpec :: parse( "pre@1.2" ) . unwrap( ) . matches( pre) ) ;
475
+ assert ! ( ! PackageIdSpec :: parse( "pre@1.2.3" ) . unwrap( ) . matches( pre) ) ;
476
476
assert ! ( PackageIdSpec :: parse( "pre@1.2.3-alpha.0" )
477
477
. unwrap( )
478
478
. matches( pre) ) ;
Original file line number Diff line number Diff line change @@ -187,6 +187,11 @@ impl PartialVersion {
187
187
/// Build metadata does not affect version precedence but may be necessary for uniquely
188
188
/// identifying a package.
189
189
pub fn matches ( & self , version : & Version ) -> bool {
190
+ if !version. pre . is_empty ( ) && self . pre . is_none ( ) {
191
+ // Pre-release versions must be explicitly opted into, if for no other reason than to
192
+ // give us room to figure out and define the semantics
193
+ return false ;
194
+ }
190
195
self . major == version. major
191
196
&& self . minor . map ( |f| f == version. minor ) . unwrap_or ( true )
192
197
&& self . patch . map ( |f| f == version. patch ) . unwrap_or ( true )
You can’t perform that action at this time.
0 commit comments