@@ -79,7 +79,8 @@ fn write(
79
79
. file_stem ( )
80
80
. ok_or_else ( || anyhow:: format_err!( "no file name" ) ) ?
81
81
. to_string_lossy ( ) ;
82
- let name = sanitize_package_name ( file_name. as_ref ( ) ) ;
82
+ let separator = '_' ;
83
+ let name = sanitize_package_name ( file_name. as_ref ( ) , separator) ;
83
84
84
85
let mut workspace_root = target_dir. to_owned ( ) ;
85
86
workspace_root. push ( "eval" ) ;
@@ -139,9 +140,10 @@ fn expand_manifest_(script: &RawScript, config: &Config) -> CargoResult<toml::Ta
139
140
. file_stem ( )
140
141
. ok_or_else ( || anyhow:: format_err!( "no file name" ) ) ?
141
142
. to_string_lossy ( ) ;
142
- let name = sanitize_package_name ( file_name. as_ref ( ) ) ;
143
+ let separator = '_' ;
144
+ let name = sanitize_package_name ( file_name. as_ref ( ) , separator) ;
143
145
let hash = hash ( script) ;
144
- let bin_name = format ! ( "{name}_ {hash}" ) ;
146
+ let bin_name = format ! ( "{name}{separator} {hash}" ) ;
145
147
package
146
148
. entry ( "name" . to_owned ( ) )
147
149
. or_insert ( toml:: Value :: String ( name) ) ;
@@ -192,12 +194,12 @@ fn expand_manifest_(script: &RawScript, config: &Config) -> CargoResult<toml::Ta
192
194
Ok ( manifest)
193
195
}
194
196
195
- fn sanitize_package_name ( name : & str ) -> String {
197
+ fn sanitize_package_name ( name : & str , placeholder : char ) -> String {
196
198
let mut slug = String :: new ( ) ;
197
199
for ( i, c) in name. chars ( ) . enumerate ( ) {
198
200
match ( i, c) {
199
201
( 0 , '0' ..='9' ) => {
200
- slug. push ( '_' ) ;
202
+ slug. push ( placeholder ) ;
201
203
slug. push ( c) ;
202
204
}
203
205
( _, '0' ..='9' ) | ( _, 'a' ..='z' ) | ( _, '_' ) | ( _, '-' ) => {
@@ -208,7 +210,7 @@ fn sanitize_package_name(name: &str) -> String {
208
210
slug. push ( c. to_ascii_lowercase ( ) ) ;
209
211
}
210
212
( _, _) => {
211
- slug. push ( '_' ) ;
213
+ slug. push ( placeholder ) ;
212
214
}
213
215
}
214
216
}
0 commit comments