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 {
470470
471471 let pre = PackageId :: new ( "pre" , "1.2.3-alpha.0" , sid) . unwrap ( ) ;
472472 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) ) ;
476476 assert ! ( PackageIdSpec :: parse( "pre@1.2.3-alpha.0" )
477477 . unwrap( )
478478 . matches( pre) ) ;
Original file line number Diff line number Diff line change @@ -187,6 +187,11 @@ impl PartialVersion {
187187 /// Build metadata does not affect version precedence but may be necessary for uniquely
188188 /// identifying a package.
189189 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+ }
190195 self . major == version. major
191196 && self . minor . map ( |f| f == version. minor ) . unwrap_or ( true )
192197 && self . patch . map ( |f| f == version. patch ) . unwrap_or ( true )
You can’t perform that action at this time.
0 commit comments