@@ -791,58 +791,6 @@ fn inferred_to_toml_targets(inferred: &[(String, PathBuf)]) -> Vec<TomlTarget> {
791
791
. collect ( )
792
792
}
793
793
794
- fn validate_lib_name ( target : & TomlTarget , warnings : & mut Vec < String > ) -> CargoResult < ( ) > {
795
- validate_target_name ( target, "library" , "lib" , warnings) ?;
796
- let name = name_or_panic ( target) ;
797
- if name. contains ( '-' ) {
798
- anyhow:: bail!( "library target names cannot contain hyphens: {}" , name)
799
- }
800
-
801
- Ok ( ( ) )
802
- }
803
-
804
- fn validate_bin_name ( bin : & TomlTarget , warnings : & mut Vec < String > ) -> CargoResult < ( ) > {
805
- validate_target_name ( bin, "binary" , "bin" , warnings) ?;
806
- let name = name_or_panic ( bin) . to_owned ( ) ;
807
- if restricted_names:: is_conflicting_artifact_name ( & name) {
808
- anyhow:: bail!(
809
- "the binary target name `{name}` is forbidden, \
810
- it conflicts with cargo's build directory names",
811
- )
812
- }
813
-
814
- Ok ( ( ) )
815
- }
816
-
817
- fn validate_target_name (
818
- target : & TomlTarget ,
819
- target_kind_human : & str ,
820
- target_kind : & str ,
821
- warnings : & mut Vec < String > ,
822
- ) -> CargoResult < ( ) > {
823
- match target. name {
824
- Some ( ref name) => {
825
- if name. trim ( ) . is_empty ( ) {
826
- anyhow:: bail!( "{} target names cannot be empty" , target_kind_human)
827
- }
828
- if cfg ! ( windows) && restricted_names:: is_windows_reserved ( name) {
829
- warnings. push ( format ! (
830
- "{} target `{}` is a reserved Windows filename, \
831
- this target will not work on Windows platforms",
832
- target_kind_human, name
833
- ) ) ;
834
- }
835
- }
836
- None => anyhow:: bail!(
837
- "{} target {}.name is required" ,
838
- target_kind_human,
839
- target_kind
840
- ) ,
841
- }
842
-
843
- Ok ( ( ) )
844
- }
845
-
846
794
/// Will check a list of toml targets, and make sure the target names are unique within a vector.
847
795
fn validate_unique_names ( targets : & [ TomlTarget ] , target_kind : & str ) -> CargoResult < ( ) > {
848
796
let mut seen = HashSet :: new ( ) ;
@@ -1055,6 +1003,58 @@ fn name_or_panic(target: &TomlTarget) -> &str {
1055
1003
. unwrap_or_else ( || panic ! ( "target name is required" ) )
1056
1004
}
1057
1005
1006
+ fn validate_lib_name ( target : & TomlTarget , warnings : & mut Vec < String > ) -> CargoResult < ( ) > {
1007
+ validate_target_name ( target, "library" , "lib" , warnings) ?;
1008
+ let name = name_or_panic ( target) ;
1009
+ if name. contains ( '-' ) {
1010
+ anyhow:: bail!( "library target names cannot contain hyphens: {}" , name)
1011
+ }
1012
+
1013
+ Ok ( ( ) )
1014
+ }
1015
+
1016
+ fn validate_bin_name ( bin : & TomlTarget , warnings : & mut Vec < String > ) -> CargoResult < ( ) > {
1017
+ validate_target_name ( bin, "binary" , "bin" , warnings) ?;
1018
+ let name = name_or_panic ( bin) . to_owned ( ) ;
1019
+ if restricted_names:: is_conflicting_artifact_name ( & name) {
1020
+ anyhow:: bail!(
1021
+ "the binary target name `{name}` is forbidden, \
1022
+ it conflicts with cargo's build directory names",
1023
+ )
1024
+ }
1025
+
1026
+ Ok ( ( ) )
1027
+ }
1028
+
1029
+ fn validate_target_name (
1030
+ target : & TomlTarget ,
1031
+ target_kind_human : & str ,
1032
+ target_kind : & str ,
1033
+ warnings : & mut Vec < String > ,
1034
+ ) -> CargoResult < ( ) > {
1035
+ match target. name {
1036
+ Some ( ref name) => {
1037
+ if name. trim ( ) . is_empty ( ) {
1038
+ anyhow:: bail!( "{} target names cannot be empty" , target_kind_human)
1039
+ }
1040
+ if cfg ! ( windows) && restricted_names:: is_windows_reserved ( name) {
1041
+ warnings. push ( format ! (
1042
+ "{} target `{}` is a reserved Windows filename, \
1043
+ this target will not work on Windows platforms",
1044
+ target_kind_human, name
1045
+ ) ) ;
1046
+ }
1047
+ }
1048
+ None => anyhow:: bail!(
1049
+ "{} target {}.name is required" ,
1050
+ target_kind_human,
1051
+ target_kind
1052
+ ) ,
1053
+ }
1054
+
1055
+ Ok ( ( ) )
1056
+ }
1057
+
1058
1058
fn validate_bin_proc_macro (
1059
1059
target : & TomlTarget ,
1060
1060
_warnings : & mut Vec < String > ,
0 commit comments