File tree Expand file tree Collapse file tree 1 file changed +10
-0
lines changed
src/cargo/util_schemas/core Expand file tree Collapse file tree 1 file changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -97,6 +97,9 @@ impl PackageIdSpec {
9797 Some ( version) => Some ( version. parse :: < PartialVersion > ( ) ?) ,
9898 None => None ,
9999 } ;
100+ if name. is_empty ( ) {
101+ bail ! ( "package ID specification must have a name: `{spec}`" ) ;
102+ }
100103 validate_package_name ( name, "pkgid" , "" ) ?;
101104 Ok ( PackageIdSpec {
102105 name : String :: from ( name) ,
@@ -182,6 +185,10 @@ impl PackageIdSpec {
182185 None => ( String :: from ( path_name) , None ) ,
183186 }
184187 } ;
188+ if name. is_empty ( ) {
189+ bail ! ( "package ID specification must have a name: `{url}`" ) ;
190+ }
191+ validate_package_name ( name. as_str ( ) , "pkgid" , "" ) ?;
185192 Ok ( PackageIdSpec {
186193 name,
187194 version,
@@ -585,5 +592,8 @@ mod tests {
585592 "sparse+https://github.com/rust-lang/cargo#0.52.0?branch=dev"
586593 )
587594 . is_err( ) ) ;
595+ assert ! ( PackageIdSpec :: parse( "@1.2.3" ) . is_err( ) ) ;
596+ assert ! ( PackageIdSpec :: parse( "registry+https://github.com" ) . is_err( ) ) ;
597+ assert ! ( PackageIdSpec :: parse( "https://crates.io/1foo#1.2.3" ) . is_err( ) )
588598 }
589599}
You can’t perform that action at this time.
0 commit comments