@@ -387,13 +387,16 @@ impl<'builder, 'reader, T> NestedLoader<'_, '_, T, Immediate<'builder, 'reader>>
387
387
path : & AssetPath < ' static > ,
388
388
asset_type_id : Option < TypeId > ,
389
389
) -> Result < ( Arc < dyn ErasedAssetLoader > , CompleteErasedLoadedAsset ) , LoadDirectError > {
390
+ if path. label ( ) . is_some ( ) {
391
+ return Err ( LoadDirectError :: RequestedSubasset ( path. clone ( ) ) ) ;
392
+ }
390
393
let ( mut meta, loader, mut reader) = if let Some ( reader) = self . mode . reader {
391
394
let loader = if let Some ( asset_type_id) = asset_type_id {
392
395
self . load_context
393
396
. asset_server
394
397
. get_asset_loader_with_asset_type_id ( asset_type_id)
395
398
. await
396
- . map_err ( |error| LoadDirectError {
399
+ . map_err ( |error| LoadDirectError :: LoadError {
397
400
dependency : path. clone ( ) ,
398
401
error : error. into ( ) ,
399
402
} ) ?
@@ -402,7 +405,7 @@ impl<'builder, 'reader, T> NestedLoader<'_, '_, T, Immediate<'builder, 'reader>>
402
405
. asset_server
403
406
. get_path_asset_loader ( path)
404
407
. await
405
- . map_err ( |error| LoadDirectError {
408
+ . map_err ( |error| LoadDirectError :: LoadError {
406
409
dependency : path. clone ( ) ,
407
410
error : error. into ( ) ,
408
411
} ) ?
@@ -415,7 +418,7 @@ impl<'builder, 'reader, T> NestedLoader<'_, '_, T, Immediate<'builder, 'reader>>
415
418
. asset_server
416
419
. get_meta_loader_and_reader ( path, asset_type_id)
417
420
. await
418
- . map_err ( |error| LoadDirectError {
421
+ . map_err ( |error| LoadDirectError :: LoadError {
419
422
dependency : path. clone ( ) ,
420
423
error,
421
424
} ) ?;
@@ -453,15 +456,17 @@ impl NestedLoader<'_, '_, StaticTyped, Immediate<'_, '_>> {
453
456
self . load_internal ( & path, Some ( TypeId :: of :: < A > ( ) ) )
454
457
. await
455
458
. and_then ( move |( loader, untyped_asset) | {
456
- untyped_asset. downcast :: < A > ( ) . map_err ( |_| LoadDirectError {
457
- dependency : path. clone ( ) ,
458
- error : AssetLoadError :: RequestedHandleTypeMismatch {
459
- path,
460
- requested : TypeId :: of :: < A > ( ) ,
461
- actual_asset_name : loader. asset_type_name ( ) ,
462
- loader_name : loader. type_name ( ) ,
463
- } ,
464
- } )
459
+ untyped_asset
460
+ . downcast :: < A > ( )
461
+ . map_err ( |_| LoadDirectError :: LoadError {
462
+ dependency : path. clone ( ) ,
463
+ error : AssetLoadError :: RequestedHandleTypeMismatch {
464
+ path,
465
+ requested : TypeId :: of :: < A > ( ) ,
466
+ actual_asset_name : loader. asset_type_name ( ) ,
467
+ loader_name : loader. type_name ( ) ,
468
+ } ,
469
+ } )
465
470
} )
466
471
}
467
472
}
0 commit comments