@@ -225,68 +225,72 @@ impl Dependency {
225
225
( key. to_owned ( ) , None )
226
226
} ;
227
227
228
- let source: Source =
229
- if let Some ( git ) = table . get ( "git" ) {
230
- let mut src = GitSource :: new (
231
- git. as_str ( )
232
- . ok_or_else ( || invalid_type ( key , "git" , git . type_name ( ) , "string" ) ) ? ,
233
- ) ;
234
- if let Some ( value ) = table . get ( "branch" ) {
235
- src = src . set_branch ( value. as_str ( ) . ok_or_else ( || {
228
+ let source: Source = if let Some ( git ) = table . get ( "git" ) {
229
+ let mut src = GitSource :: new (
230
+ git . as_str ( )
231
+ . ok_or_else ( || invalid_type ( key , " git" , git . type_name ( ) , "string" ) ) ? ,
232
+ ) ;
233
+ if let Some ( value ) = table . get ( "branch" ) {
234
+ src =
235
+ src. set_branch ( value. as_str ( ) . ok_or_else ( || {
236
236
invalid_type ( key, "branch" , value. type_name ( ) , "string" )
237
237
} ) ?) ;
238
- }
239
- if let Some ( value) = table. get ( "tag" ) {
240
- src = src. set_tag ( value. as_str ( ) . ok_or_else ( || {
238
+ }
239
+ if let Some ( value) = table. get ( "tag" ) {
240
+ src =
241
+ src. set_tag ( value. as_str ( ) . ok_or_else ( || {
241
242
invalid_type ( key, "tag" , value. type_name ( ) , "string" )
242
243
} ) ?) ;
243
- }
244
- if let Some ( value) = table. get ( "rev" ) {
245
- src = src. set_rev ( value. as_str ( ) . ok_or_else ( || {
244
+ }
245
+ if let Some ( value) = table. get ( "rev" ) {
246
+ src =
247
+ src. set_rev ( value. as_str ( ) . ok_or_else ( || {
246
248
invalid_type ( key, "rev" , value. type_name ( ) , "string" )
247
249
} ) ?) ;
248
- }
249
- if let Some ( value) = table. get ( "version" ) {
250
- src = src. set_version ( value. as_str ( ) . ok_or_else ( || {
251
- invalid_type ( key, "version" , value. type_name ( ) , "string" )
252
- } ) ?) ;
253
- }
254
- src. into ( )
255
- } else if let Some ( path) = table. get ( "path" ) {
256
- let path = crate_root
250
+ }
251
+ if let Some ( value) = table. get ( "version" ) {
252
+ src = src. set_version ( value. as_str ( ) . ok_or_else ( || {
253
+ invalid_type ( key, "version" , value. type_name ( ) , "string" )
254
+ } ) ?) ;
255
+ }
256
+ src. into ( )
257
+ } else if let Some ( path) = table. get ( "path" ) {
258
+ let path =
259
+ crate_root
257
260
. join ( path. as_str ( ) . ok_or_else ( || {
258
261
invalid_type ( key, "path" , path. type_name ( ) , "string" )
259
262
} ) ?) ;
260
- let mut src = PathSource :: new ( path) ;
261
- if let Some ( value) = table. get ( "version" ) {
262
- src = src. set_version ( value. as_str ( ) . ok_or_else ( || {
263
- invalid_type ( key, "version" , value. type_name ( ) , "string" )
264
- } ) ?) ;
265
- }
266
- src. into ( )
267
- } else if let Some ( version) = table. get ( "version" ) {
268
- let src = RegistrySource :: new ( version. as_str ( ) . ok_or_else ( || {
263
+ let mut src = PathSource :: new ( path) ;
264
+ if let Some ( value) = table. get ( "version" ) {
265
+ src = src. set_version ( value. as_str ( ) . ok_or_else ( || {
266
+ invalid_type ( key, "version" , value. type_name ( ) , "string" )
267
+ } ) ?) ;
268
+ }
269
+ src. into ( )
270
+ } else if let Some ( version) = table. get ( "version" ) {
271
+ let src =
272
+ RegistrySource :: new ( version. as_str ( ) . ok_or_else ( || {
269
273
invalid_type ( key, "version" , version. type_name ( ) , "string" )
270
274
} ) ?) ;
271
- src. into ( )
272
- } else if let Some ( workspace) = table. get ( "workspace" ) {
273
- let workspace_bool = workspace. as_bool ( ) . ok_or_else ( || {
274
- invalid_type ( key , "workspace" , workspace . type_name ( ) , "bool" )
275
- } ) ?;
276
- if !workspace_bool {
277
- anyhow:: bail!( "`{key}.workspace = false` is unsupported" )
278
- }
279
- let src = WorkspaceSource :: new ( ) ;
280
- src. into ( )
281
- } else {
282
- let mut msg = format ! ( "Unrecognized dependency source for `{key}`" ) ;
283
- if table. is_empty ( ) {
284
- msg. push_str (
285
- ", expected a table with a `version`, `git`, `path`, or ` workspace` key " ,
275
+ src. into ( )
276
+ } else if let Some ( workspace) = table. get ( "workspace" ) {
277
+ let workspace_bool = workspace
278
+ . as_bool ( )
279
+ . ok_or_else ( || invalid_type ( key , "workspace" , workspace . type_name ( ) , "bool" ) ) ?;
280
+ if !workspace_bool {
281
+ anyhow:: bail!( "`{key}.workspace = false` is unsupported" )
282
+ }
283
+ let src = WorkspaceSource :: new ( ) ;
284
+ src. into ( )
285
+ } else {
286
+ let mut msg = format ! ( "unrecognized dependency source for `{key}`" ) ;
287
+ if table. is_empty ( ) {
288
+ msg. push_str (
289
+ ", expected a local path, Git repository, version, or workspace dependency to be specified " ,
286
290
) ;
287
- }
288
- anyhow:: bail!( msg) ;
289
- } ;
291
+ }
292
+ anyhow:: bail!( msg) ;
293
+ } ;
290
294
let registry = if let Some ( value) = table. get ( "registry" ) {
291
295
Some (
292
296
value
0 commit comments