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 @@ -191,6 +191,11 @@ impl PartialVersion {
191
191
/// Build metadata does not affect version precedence but may be necessary for uniquely
192
192
/// identifying a package.
193
193
pub fn matches ( & self , version : & Version ) -> bool {
194
+ if !version. pre . is_empty ( ) && self . pre . is_none ( ) {
195
+ // Pre-release versions must be explicitly opted into, if for no other reason than to
196
+ // give us room to figure out and define the semantics
197
+ return false ;
198
+ }
194
199
self . major == version. major
195
200
&& self . minor . map ( |f| f == version. minor ) . unwrap_or ( true )
196
201
&& self . patch . map ( |f| f == version. patch ) . unwrap_or ( true )
You can’t perform that action at this time.
0 commit comments