diff --git a/crates/next-api/src/app.rs b/crates/next-api/src/app.rs index 7413de5e7ae40..47bf32ccd06a7 100644 --- a/crates/next-api/src/app.rs +++ b/crates/next-api/src/app.rs @@ -1635,7 +1635,6 @@ impl AppEndpoint { .await? .clone_value(); let evaluatable = ResolvedVc::try_sidecast(app_entry.rsc_entry) - .await? .context("Entry module must be evaluatable")?; evaluatable_assets.push(evaluatable); evaluatable_assets.push(server_action_manifest_loader); @@ -1677,7 +1676,6 @@ impl AppEndpoint { .iter() .map(|m| async move { Ok(*ResolvedVc::try_downcast::>(*m) - .await? .context("Expected server utils to be chunkable")?) }) .try_join() diff --git a/crates/next-api/src/client_references.rs b/crates/next-api/src/client_references.rs index 2311b5d3bebba..e64f29119d430 100644 --- a/crates/next-api/src/client_references.rs +++ b/crates/next-api/src/client_references.rs @@ -39,7 +39,7 @@ pub async fn map_client_references( let module = node.module; if let Some(client_reference_module) = - ResolvedVc::try_downcast_type_sync::(module) + ResolvedVc::try_downcast_type::(module) { Ok(Some(( module, @@ -49,7 +49,7 @@ pub async fn map_client_references( }, ))) } else if let Some(client_reference_module) = - ResolvedVc::try_downcast_type_sync::(module) + ResolvedVc::try_downcast_type::(module) { Ok(Some(( module, @@ -58,7 +58,7 @@ pub async fn map_client_references( )), ))) } else if let Some(server_component) = - ResolvedVc::try_downcast_type_sync::(module) + ResolvedVc::try_downcast_type::(module) { Ok(Some(( module, diff --git a/crates/next-api/src/dynamic_imports.rs b/crates/next-api/src/dynamic_imports.rs index 4adbc8584ce75..9a1b1e90e374c 100644 --- a/crates/next-api/src/dynamic_imports.rs +++ b/crates/next-api/src/dynamic_imports.rs @@ -132,7 +132,7 @@ pub async fn map_next_dynamic(graph: Vc) -> Result(*module).await? + ResolvedVc::try_downcast_type::(*module) { return Ok(Some(( *module, @@ -143,7 +143,7 @@ pub async fn map_next_dynamic(graph: Vc) -> Result(*module).await? + ResolvedVc::try_downcast_type::(*module) { return Ok(Some(( *module, diff --git a/crates/next-api/src/instrumentation.rs b/crates/next-api/src/instrumentation.rs index f225854b3608d..95d0fcbf66dd1 100644 --- a/crates/next-api/src/instrumentation.rs +++ b/crates/next-api/src/instrumentation.rs @@ -123,13 +123,12 @@ impl InstrumentationEndpoint { .await? .clone_value(); - let Some(module) = - ResolvedVc::try_downcast::>(module).await? + let Some(module) = ResolvedVc::try_downcast::>(module) else { bail!("Entry module must be evaluatable"); }; - let Some(evaluatable) = ResolvedVc::try_sidecast(module).await? else { + let Some(evaluatable) = ResolvedVc::try_sidecast(module) else { bail!("Entry module must be evaluatable"); }; evaluatable_assets.push(evaluatable); @@ -155,7 +154,7 @@ impl InstrumentationEndpoint { let userland_module = self.core_modules().await?.userland_module; let module_graph = this.project.module_graph(*userland_module); - let Some(module) = ResolvedVc::try_downcast(userland_module).await? else { + let Some(module) = ResolvedVc::try_downcast(userland_module) else { bail!("Entry module must be evaluatable"); }; diff --git a/crates/next-api/src/pages.rs b/crates/next-api/src/pages.rs index e4ddb86b74ce2..ef6ae8cc7f674 100644 --- a/crates/next-api/src/pages.rs +++ b/crates/next-api/src/pages.rs @@ -961,7 +961,6 @@ impl PageEndpoint { if is_edge { let mut evaluatable_assets = edge_runtime_entries.await?.clone_value(); let evaluatable = ResolvedVc::try_sidecast(ssr_module) - .await? .context("could not process page loader entry module")?; evaluatable_assets.push(evaluatable); diff --git a/crates/next-api/src/versioned_content_map.rs b/crates/next-api/src/versioned_content_map.rs index 40cd7e42038ef..34f84f215d5e4 100644 --- a/crates/next-api/src/versioned_content_map.rs +++ b/crates/next-api/src/versioned_content_map.rs @@ -196,7 +196,7 @@ impl VersionedContentMap { }; if let Some(generate_source_map) = - ResolvedVc::try_sidecast::>(*asset).await? + ResolvedVc::try_sidecast::>(*asset) { Ok(if let Some(section) = section { generate_source_map.by_section(section) diff --git a/crates/next-api/src/webpack_stats.rs b/crates/next-api/src/webpack_stats.rs index 43aecd8f9e306..4df9024816950 100644 --- a/crates/next-api/src/webpack_stats.rs +++ b/crates/next-api/src/webpack_stats.rs @@ -27,7 +27,7 @@ where continue; }; - if let Some(chunk) = ResolvedVc::try_downcast_type::(*asset).await? { + if let Some(chunk) = ResolvedVc::try_downcast_type::(*asset) { let chunk_ident = normalize_client_path(&chunk.ident().path().await?.path); chunks.push(WebpackStatsChunk { size: asset_len, diff --git a/crates/next-core/src/bootstrap.rs b/crates/next-core/src/bootstrap.rs index d2625838c929f..f8b268eab0252 100644 --- a/crates/next-core/src/bootstrap.rs +++ b/crates/next-core/src/bootstrap.rs @@ -111,7 +111,6 @@ pub async fn bootstrap( .await?; let asset = ResolvedVc::try_sidecast::>(asset) - .await? .context("internal module must be evaluatable")?; Ok(*asset) diff --git a/crates/next-core/src/next_client/runtime_entry.rs b/crates/next-core/src/next_client/runtime_entry.rs index 6bcc1e1fce2e3..048a26f92e13f 100644 --- a/crates/next-core/src/next_client/runtime_entry.rs +++ b/crates/next-core/src/next_client/runtime_entry.rs @@ -45,9 +45,7 @@ impl RuntimeEntry { let mut runtime_entries = Vec::with_capacity(modules.len()); for &module in &modules { - if let Some(entry) = - ResolvedVc::try_downcast::>(module).await? - { + if let Some(entry) = ResolvedVc::try_downcast::>(module) { runtime_entries.push(entry); } else { bail!( diff --git a/crates/next-core/src/next_client_reference/css_client_reference/css_client_reference_transition.rs b/crates/next-core/src/next_client_reference/css_client_reference/css_client_reference_transition.rs index e0b581c1034a5..baf2cbc0cb40f 100644 --- a/crates/next-core/src/next_client_reference/css_client_reference/css_client_reference_transition.rs +++ b/crates/next-core/src/next_client_reference/css_client_reference/css_client_reference_transition.rs @@ -36,7 +36,7 @@ impl Transition for NextCssClientReferenceTransition { return Ok(ProcessResult::Ignore.cell()); }; - let client_module = ResolvedVc::try_sidecast_sync::>(module) + let client_module = ResolvedVc::try_sidecast::>(module) .context("css client asset is not css chunk placeable")?; Ok(ProcessResult::Module(ResolvedVc::upcast( diff --git a/crates/next-core/src/next_client_reference/ecmascript_client_reference/ecmascript_client_reference_transition.rs b/crates/next-core/src/next_client_reference/ecmascript_client_reference/ecmascript_client_reference_transition.rs index 3cb0a7aba432f..4890f36221c52 100644 --- a/crates/next-core/src/next_client_reference/ecmascript_client_reference/ecmascript_client_reference_transition.rs +++ b/crates/next-core/src/next_client_reference/ecmascript_client_reference/ecmascript_client_reference_transition.rs @@ -99,13 +99,13 @@ impl Transition for NextEcmascriptClientReferenceTransition { }; let Some(client_module) = - ResolvedVc::try_sidecast::>(client_module).await? + ResolvedVc::try_sidecast::>(client_module) else { bail!("client asset is not ecmascript chunk placeable"); }; let Some(ssr_module) = - ResolvedVc::try_sidecast::>(ssr_module).await? + ResolvedVc::try_sidecast::>(ssr_module) else { bail!("SSR asset is not ecmascript chunk placeable"); }; diff --git a/crates/next-core/src/next_client_reference/visit_client_reference.rs b/crates/next-core/src/next_client_reference/visit_client_reference.rs index 4268d4fbaa0ae..5b1808868d0ab 100644 --- a/crates/next-core/src/next_client_reference/visit_client_reference.rs +++ b/crates/next-core/src/next_client_reference/visit_client_reference.rs @@ -167,7 +167,6 @@ pub async fn client_reference_graph( Ok(VisitClientReferenceNode { state: if let Some(server_component) = ResolvedVc::try_downcast_type::(module) - .await? { VisitClientReferenceNodeState::InServerComponent { server_component, @@ -416,7 +415,6 @@ impl Visit for VisitClientReference { .map(|module| async move { if let Some(client_reference_module) = ResolvedVc::try_downcast_type::(*module) - .await? { return Ok(VisitClientReferenceNode { state: node.state, @@ -433,7 +431,7 @@ impl Visit for VisitClientReference { } if let Some(client_reference_module) = - ResolvedVc::try_downcast_type::(*module).await? + ResolvedVc::try_downcast_type::(*module) { return Ok(VisitClientReferenceNode { state: node.state, @@ -450,7 +448,7 @@ impl Visit for VisitClientReference { } if let Some(server_component_asset) = - ResolvedVc::try_downcast_type::(*module).await? + ResolvedVc::try_downcast_type::(*module) { return Ok(VisitClientReferenceNode { state: VisitClientReferenceNodeState::InServerComponent { @@ -463,10 +461,7 @@ impl Visit for VisitClientReference { }); } - if ResolvedVc::try_downcast_type::(*module) - .await? - .is_some() - { + if ResolvedVc::try_downcast_type::(*module).is_some() { return Ok(VisitClientReferenceNode { state: VisitClientReferenceNodeState::InServerUtil, ty: VisitClientReferenceNodeType::ServerUtilEntry( diff --git a/crates/next-core/src/next_dynamic/dynamic_transition.rs b/crates/next-core/src/next_dynamic/dynamic_transition.rs index df5f4c88b2777..603d6793e3446 100644 --- a/crates/next-core/src/next_dynamic/dynamic_transition.rs +++ b/crates/next-core/src/next_dynamic/dynamic_transition.rs @@ -71,7 +71,6 @@ impl Transition for NextDynamicTransition { Some(client_module) => { let Some(client_module) = ResolvedVc::try_sidecast::>(*client_module) - .await? else { bail!("not an ecmascript client_module"); }; diff --git a/crates/next-core/src/next_dynamic/visit_dynamic.rs b/crates/next-core/src/next_dynamic/visit_dynamic.rs index 0187a102bb5d9..8574f2337c62e 100644 --- a/crates/next-core/src/next_dynamic/visit_dynamic.rs +++ b/crates/next-core/src/next_dynamic/visit_dynamic.rs @@ -94,7 +94,7 @@ impl Visit for VisitDynamic { let referenced_modules = referenced_modules.iter().map(|module| async move { if let Some(next_dynamic_module) = - ResolvedVc::try_downcast_type::(*module).await? + ResolvedVc::try_downcast_type::(*module) { return Ok(VisitDynamicNode::Dynamic( next_dynamic_module, diff --git a/crates/next-core/src/util.rs b/crates/next-core/src/util.rs index 2ac072df938d4..1c5d796c93a4b 100644 --- a/crates/next-core/src/util.rs +++ b/crates/next-core/src/util.rs @@ -428,8 +428,7 @@ async fn parse_route_matcher_from_js_value( pub async fn parse_config_from_source( module: ResolvedVc>, ) -> Result> { - if let Some(ecmascript_asset) = - ResolvedVc::try_sidecast::>(module).await? + if let Some(ecmascript_asset) = ResolvedVc::try_sidecast::>(module) { if let ParseResult::Ok { program: Program::Module(module_ast), diff --git a/turbopack/crates/turbo-tasks-testing/tests/resolved_vc.rs b/turbopack/crates/turbo-tasks-testing/tests/resolved_vc.rs index 0222b91a44a7d..0d1fb48be2978 100644 --- a/turbopack/crates/turbo-tasks-testing/tests/resolved_vc.rs +++ b/turbopack/crates/turbo-tasks-testing/tests/resolved_vc.rs @@ -83,9 +83,9 @@ async fn test_sidecast() -> Result<()> { run(®ISTRATION, || async { let concrete_value = ImplementsAandB.resolved_cell(); let as_a = ResolvedVc::upcast::>(concrete_value); - let as_b = ResolvedVc::try_sidecast_sync::>(as_a); + let as_b = ResolvedVc::try_sidecast::>(as_a); assert!(as_b.is_some()); - let as_c = ResolvedVc::try_sidecast_sync::>(as_a); + let as_c = ResolvedVc::try_sidecast::>(as_a); assert!(as_c.is_none()); Ok(()) }) diff --git a/turbopack/crates/turbo-tasks/src/vc/resolved.rs b/turbopack/crates/turbo-tasks/src/vc/resolved.rs index ac1e5d12b0143..cec2a2e8f7b71 100644 --- a/turbopack/crates/turbo-tasks/src/vc/resolved.rs +++ b/turbopack/crates/turbo-tasks/src/vc/resolved.rs @@ -14,7 +14,7 @@ use crate::{ debug::{ValueDebug, ValueDebugFormat, ValueDebugFormatString}, trace::{TraceRawVcs, TraceRawVcsContext}, vc::Vc, - ResolveTypeError, Upcast, VcRead, VcTransparentRead, VcValueTrait, VcValueType, + Upcast, VcRead, VcTransparentRead, VcValueTrait, VcValueType, }; /// A "subtype" (via [`Deref`]) of [`Vc`] that represents a specific [`Vc::cell`]/`.cell()` or @@ -211,31 +211,13 @@ impl ResolvedVc where T: VcValueTrait + ?Sized, { - /// Attempts to sidecast the given `Vc>` to a `Vc>`. - /// /// Returns `None` if the underlying value type does not implement `K`. /// /// **Note:** if the trait `T` is required to implement `K`, use [`ResolvedVc::upcast`] instead. /// This provides stronger guarantees, removing the need for a [`Result`] return type. /// /// See also: [`Vc::try_resolve_sidecast`]. - pub async fn try_sidecast(this: Self) -> Result>, ResolveTypeError> - where - K: VcValueTrait + ?Sized, - { - // TODO: Expose a synchronous API instead of this async one that returns `Result>` - Ok(Self::try_sidecast_sync(this)) - } - - /// Attempts to sidecast the given `ResolvedVc>` to a `ResolvedVc>`. - /// - /// Returns `None` if the underlying value type does not implement `K`. - /// - /// **Note:** if the trait `T` is required to implement `K`, use [`ResolvedVc::upcast`] instead. - /// This provides stronger guarantees, removing the need for a [`Result`] return type. - /// - /// See also: [`Vc::try_resolve_sidecast`]. - pub fn try_sidecast_sync(this: Self) -> Option> + pub fn try_sidecast(this: Self) -> Option> where K: VcValueTrait + ?Sized, { @@ -258,39 +240,12 @@ where /// Returns `None` if the underlying value type is not a `K`. /// /// See also: [`Vc::try_resolve_downcast`]. - pub async fn try_downcast(this: Self) -> Result>, ResolveTypeError> - where - K: Upcast + VcValueTrait + ?Sized, - { - // TODO: Expose a synchronous API instead of this async one that returns `Result>` - Ok(Self::try_downcast_sync(this)) - } - - /// Attempts to downcast the given `ResolvedVc>` to a `ResolvedVc`, where `K` - /// is of the form `Box`, and `L` is a value trait. - /// - /// Returns `None` if the underlying value type is not a `K`. - /// - /// See also: [`Vc::try_resolve_downcast`]. - pub fn try_downcast_sync(this: Self) -> Option> + pub fn try_downcast(this: Self) -> Option> where K: Upcast + VcValueTrait + ?Sized, { // this is just a more type-safe version of a sidecast - Self::try_sidecast_sync(this) - } - - /// Attempts to downcast the given `Vc>` to a `Vc`, where `K` is a value type. - /// - /// Returns `None` if the underlying value type is not a `K`. - /// - /// See also: [`Vc::try_resolve_downcast_type`]. - pub async fn try_downcast_type(this: Self) -> Result>, ResolveTypeError> - where - K: Upcast + VcValueType, - { - // TODO: Expose a synchronous API instead of this async one that returns `Result>` - Ok(Self::try_downcast_type_sync(this)) + Self::try_sidecast(this) } /// Attempts to downcast the given `Vc>` to a `Vc`, where `K` is a value type. @@ -298,7 +253,7 @@ where /// Returns `None` if the underlying value type is not a `K`. /// /// See also: [`Vc::try_resolve_downcast_type`]. - pub fn try_downcast_type_sync(this: Self) -> Option> + pub fn try_downcast_type(this: Self) -> Option> where K: Upcast + VcValueType, { diff --git a/turbopack/crates/turbopack-browser/src/ecmascript/evaluate/chunk.rs b/turbopack/crates/turbopack-browser/src/ecmascript/evaluate/chunk.rs index b64e3f2e7f3cb..18289b58c54bc 100644 --- a/turbopack/crates/turbopack-browser/src/ecmascript/evaluate/chunk.rs +++ b/turbopack/crates/turbopack-browser/src/ecmascript/evaluate/chunk.rs @@ -108,7 +108,6 @@ impl EcmascriptDevEvaluateChunk { move |entry| async move { if let Some(placeable) = ResolvedVc::try_sidecast::>(*entry) - .await? { Ok(Some( placeable diff --git a/turbopack/crates/turbopack-browser/src/ecmascript/list/content.rs b/turbopack/crates/turbopack-browser/src/ecmascript/list/content.rs index a0b395e5e0f36..2e465687e18af 100644 --- a/turbopack/crates/turbopack-browser/src/ecmascript/list/content.rs +++ b/turbopack/crates/turbopack-browser/src/ecmascript/list/content.rs @@ -76,7 +76,6 @@ impl EcmascriptDevChunkListContent { for (chunk_path, chunk_content) in &self.chunks_contents { if let Some(mergeable) = ResolvedVc::try_sidecast::>(*chunk_content) - .await? { let merger = mergeable.get_merger().resolve().await?; by_merger.entry(merger).or_default().push(*chunk_content); diff --git a/turbopack/crates/turbopack-browser/src/ecmascript/list/update.rs b/turbopack/crates/turbopack-browser/src/ecmascript/list/update.rs index ee90d37802f55..15311d3451155 100644 --- a/turbopack/crates/turbopack-browser/src/ecmascript/list/update.rs +++ b/turbopack/crates/turbopack-browser/src/ecmascript/list/update.rs @@ -91,7 +91,7 @@ pub(super) async fn update_chunk_list( for (chunk_path, chunk_content) in &content.chunks_contents { if let Some(mergeable) = - ResolvedVc::try_sidecast::>(*chunk_content).await? + ResolvedVc::try_sidecast::>(*chunk_content) { let merger = mergeable.get_merger().to_resolved().await?; by_merger.entry(merger).or_default().push(*chunk_content); diff --git a/turbopack/crates/turbopack-browser/src/ecmascript/merged/merger.rs b/turbopack/crates/turbopack-browser/src/ecmascript/merged/merger.rs index 45e9f23eb8811..498b42a3297f6 100644 --- a/turbopack/crates/turbopack-browser/src/ecmascript/merged/merger.rs +++ b/turbopack/crates/turbopack-browser/src/ecmascript/merged/merger.rs @@ -31,7 +31,7 @@ impl VersionedContentMerger for EcmascriptDevChunkContentMerger { .iter() .map(|content| async move { if let Some(content) = - ResolvedVc::try_downcast_type::(*content).await? + ResolvedVc::try_downcast_type::(*content) { Ok(content) } else { diff --git a/turbopack/crates/turbopack-cli-utils/src/runtime_entry.rs b/turbopack/crates/turbopack-cli-utils/src/runtime_entry.rs index 52d125f245a66..55c75bd4635c7 100644 --- a/turbopack/crates/turbopack-cli-utils/src/runtime_entry.rs +++ b/turbopack/crates/turbopack-cli-utils/src/runtime_entry.rs @@ -45,9 +45,7 @@ impl RuntimeEntry { let mut runtime_entries = Vec::with_capacity(modules.len()); for &module in &modules { - if let Some(entry) = - ResolvedVc::try_sidecast::>(module).await? - { + if let Some(entry) = ResolvedVc::try_sidecast::>(module) { runtime_entries.push(entry); } else { bail!( diff --git a/turbopack/crates/turbopack-cli/src/build/mod.rs b/turbopack/crates/turbopack-cli/src/build/mod.rs index 6c1bb9173ca59..7aea06aecc895 100644 --- a/turbopack/crates/turbopack-cli/src/build/mod.rs +++ b/turbopack/crates/turbopack-cli/src/build/mod.rs @@ -375,7 +375,7 @@ async fn build_internal( .map(|entry_module| async move { Ok( if let Some(ecmascript) = - ResolvedVc::try_sidecast::>(entry_module).await? + ResolvedVc::try_sidecast::>(entry_module) { match target { Target::Browser => { diff --git a/turbopack/crates/turbopack-cli/src/dev/web_entry_source.rs b/turbopack/crates/turbopack-cli/src/dev/web_entry_source.rs index 0c5bfdfc013cb..8a673bafbd601 100644 --- a/turbopack/crates/turbopack-cli/src/dev/web_entry_source.rs +++ b/turbopack/crates/turbopack-cli/src/dev/web_entry_source.rs @@ -163,8 +163,8 @@ pub async fn create_web_entry_source( .into_iter() .map(|module| async move { if let (Some(chunkable_module), Some(entry)) = ( - ResolvedVc::try_sidecast::>(module).await?, - ResolvedVc::try_sidecast::>(module).await?, + ResolvedVc::try_sidecast::>(module), + ResolvedVc::try_sidecast::>(module), ) { Ok(DevHtmlEntry { chunkable_module, @@ -173,7 +173,7 @@ pub async fn create_web_entry_source( runtime_entries: Some(runtime_entries.with_entry(*entry).to_resolved().await?), }) } else if let Some(chunkable_module) = - ResolvedVc::try_sidecast::>(module).await? + ResolvedVc::try_sidecast::>(module) { // TODO this is missing runtime code, so it's probably broken and we should also // add an ecmascript chunk with the runtime code diff --git a/turbopack/crates/turbopack-core/src/chunk/chunk_group.rs b/turbopack/crates/turbopack-core/src/chunk/chunk_group.rs index 873813c118da5..b6fff9f4d8be6 100644 --- a/turbopack/crates/turbopack-core/src/chunk/chunk_group.rs +++ b/turbopack/crates/turbopack-core/src/chunk/chunk_group.rs @@ -312,7 +312,7 @@ pub async fn chunk_group_content( } let Some(chunkable_module) = - ResolvedVc::try_sidecast_sync::>(node.module) + ResolvedVc::try_sidecast::>(node.module) else { return Ok(GraphTraversalAction::Skip); }; @@ -331,7 +331,7 @@ pub async fn chunk_group_content( }; let parent_module = - ResolvedVc::try_sidecast_sync::>(parent_node.module) + ResolvedVc::try_sidecast::>(parent_node.module) .context("Expected parent module to be chunkable")?; Ok(match edge { diff --git a/turbopack/crates/turbopack-core/src/introspect/module.rs b/turbopack/crates/turbopack-core/src/introspect/module.rs index b4b2401a80e52..eda791a8a20a5 100644 --- a/turbopack/crates/turbopack-core/src/introspect/module.rs +++ b/turbopack/crates/turbopack-core/src/introspect/module.rs @@ -16,7 +16,6 @@ impl IntrospectableModule { #[turbo_tasks::function] pub async fn new(asset: ResolvedVc>) -> Result>> { Ok(*ResolvedVc::try_sidecast::>(asset) - .await? .unwrap_or_else(|| ResolvedVc::upcast(IntrospectableModule(asset).resolved_cell()))) } } diff --git a/turbopack/crates/turbopack-core/src/introspect/output_asset.rs b/turbopack/crates/turbopack-core/src/introspect/output_asset.rs index e46dff52fa002..25217770d9401 100644 --- a/turbopack/crates/turbopack-core/src/introspect/output_asset.rs +++ b/turbopack/crates/turbopack-core/src/introspect/output_asset.rs @@ -17,11 +17,11 @@ impl IntrospectableOutputAsset { pub async fn new( asset: ResolvedVc>, ) -> Result>> { - Ok(*ResolvedVc::try_sidecast::>(asset) - .await? - .unwrap_or_else(|| { + Ok( + *ResolvedVc::try_sidecast::>(asset).unwrap_or_else(|| { ResolvedVc::upcast(IntrospectableOutputAsset(asset).resolved_cell()) - })) + }), + ) } } diff --git a/turbopack/crates/turbopack-core/src/introspect/source.rs b/turbopack/crates/turbopack-core/src/introspect/source.rs index 456013615ffc5..4f3a53f79c211 100644 --- a/turbopack/crates/turbopack-core/src/introspect/source.rs +++ b/turbopack/crates/turbopack-core/src/introspect/source.rs @@ -13,7 +13,6 @@ impl IntrospectableSource { #[turbo_tasks::function] pub async fn new(asset: ResolvedVc>) -> Result>> { Ok(*ResolvedVc::try_sidecast::>(asset) - .await? .unwrap_or_else(|| ResolvedVc::upcast(IntrospectableSource(asset).resolved_cell()))) } } diff --git a/turbopack/crates/turbopack-core/src/introspect/utils.rs b/turbopack/crates/turbopack-core/src/introspect/utils.rs index 354769e9685e4..9de4c1b76a942 100644 --- a/turbopack/crates/turbopack-core/src/introspect/utils.rs +++ b/turbopack/crates/turbopack-core/src/introspect/utils.rs @@ -77,7 +77,7 @@ pub async fn children_from_module_references( for &reference in &*references { let mut key = key; if let Some(chunkable) = - ResolvedVc::try_downcast::>(reference).await? + ResolvedVc::try_downcast::>(reference) { match &*chunkable.chunking_type().await? { None => {} diff --git a/turbopack/crates/turbopack-core/src/issue/mod.rs b/turbopack/crates/turbopack-core/src/issue/mod.rs index d911bbff09020..b44aa026c9338 100644 --- a/turbopack/crates/turbopack-core/src/issue/mod.rs +++ b/turbopack/crates/turbopack-core/src/issue/mod.rs @@ -598,8 +598,7 @@ async fn source_pos( start: SourcePos, end: SourcePos, ) -> Result>, SourcePos, SourcePos)>> { - let Some(generator) = ResolvedVc::try_sidecast::>(source).await? - else { + let Some(generator) = ResolvedVc::try_sidecast::>(source) else { return Ok(None); }; diff --git a/turbopack/crates/turbopack-core/src/reference/mod.rs b/turbopack/crates/turbopack-core/src/reference/mod.rs index f964ef49d028c..e48cf1cec5f27 100644 --- a/turbopack/crates/turbopack-core/src/reference/mod.rs +++ b/turbopack/crates/turbopack-core/src/reference/mod.rs @@ -289,7 +289,7 @@ pub async fn primary_chunkable_referenced_modules( .iter() .map(|reference| async { if let Some(reference) = - ResolvedVc::try_downcast::>(*reference).await? + ResolvedVc::try_downcast::>(*reference) { if let Some(chunking_type) = &*reference.chunking_type().await? { let resolved = reference diff --git a/turbopack/crates/turbopack-core/src/source_map/source_map_asset.rs b/turbopack/crates/turbopack-core/src/source_map/source_map_asset.rs index ba52ac76e1a3a..e7869f05396c6 100644 --- a/turbopack/crates/turbopack-core/src/source_map/source_map_asset.rs +++ b/turbopack/crates/turbopack-core/src/source_map/source_map_asset.rs @@ -40,7 +40,7 @@ impl Asset for SourceMapAsset { #[turbo_tasks::function] async fn content(&self) -> Result> { let Some(generate_source_map) = - ResolvedVc::try_sidecast::>(self.asset).await? + ResolvedVc::try_sidecast::>(self.asset) else { bail!("asset does not support generating source maps") }; @@ -84,8 +84,7 @@ impl Introspectable for SourceMapAsset { #[turbo_tasks::function] async fn children(&self) -> Result> { let mut children = FxIndexSet::default(); - if let Some(asset) = ResolvedVc::try_sidecast::>(self.asset).await? - { + if let Some(asset) = ResolvedVc::try_sidecast::>(self.asset) { children.insert((ResolvedVc::cell("asset".into()), asset)); } Ok(Vc::cell(children)) diff --git a/turbopack/crates/turbopack-css/src/asset.rs b/turbopack/crates/turbopack-css/src/asset.rs index 66c32ddcdb3ae..67bb9af733ea4 100644 --- a/turbopack/crates/turbopack-css/src/asset.rs +++ b/turbopack/crates/turbopack-css/src/asset.rs @@ -215,7 +215,7 @@ impl CssChunkItem for CssModuleChunkItem { for reference in references.iter() { if let Some(import_ref) = - ResolvedVc::try_downcast_type::(*reference).await? + ResolvedVc::try_downcast_type::(*reference) { for &module in import_ref .resolve_reference() @@ -226,7 +226,7 @@ impl CssChunkItem for CssModuleChunkItem { .iter() { if let Some(placeable) = - ResolvedVc::try_downcast::>(module).await? + ResolvedVc::try_downcast::>(module) { let item = placeable.as_chunk_item(*self.module_graph, *chunking_context); if let Some(css_item) = @@ -240,7 +240,7 @@ impl CssChunkItem for CssModuleChunkItem { } } } else if let Some(compose_ref) = - ResolvedVc::try_downcast_type::(*reference).await? + ResolvedVc::try_downcast_type::(*reference) { for &module in compose_ref .resolve_reference() @@ -251,7 +251,7 @@ impl CssChunkItem for CssModuleChunkItem { .iter() { if let Some(placeable) = - ResolvedVc::try_downcast::>(module).await? + ResolvedVc::try_downcast::>(module) { let item = placeable.as_chunk_item(*self.module_graph, *chunking_context); if let Some(css_item) = @@ -266,9 +266,7 @@ impl CssChunkItem for CssModuleChunkItem { let mut code_gens = Vec::new(); for r in references.iter() { - if let Some(code_gen) = - ResolvedVc::try_sidecast::>(*r).await? - { + if let Some(code_gen) = ResolvedVc::try_sidecast::>(*r) { code_gens.push(code_gen.code_generation(*chunking_context)); } } diff --git a/turbopack/crates/turbopack-css/src/chunk/mod.rs b/turbopack/crates/turbopack-css/src/chunk/mod.rs index 05fddde51265e..9a41e102b40cb 100644 --- a/turbopack/crates/turbopack-css/src/chunk/mod.rs +++ b/turbopack/crates/turbopack-css/src/chunk/mod.rs @@ -199,8 +199,7 @@ impl OutputChunk for CssChunk { let imports_chunk_items: Vec<_> = entries_chunk_items .iter() .map(|&chunk_item| async move { - let Some(css_item) = - ResolvedVc::try_downcast::>(chunk_item).await? + let Some(css_item) = ResolvedVc::try_downcast::>(chunk_item) else { return Ok(vec![]); }; @@ -505,7 +504,7 @@ impl ChunkType for CssChunkType { .iter() .map(async |ChunkItemWithAsyncModuleInfo { chunk_item, .. }| { let Some(chunk_item) = - ResolvedVc::try_downcast::>(*chunk_item).await? + ResolvedVc::try_downcast::>(*chunk_item) else { bail!("Chunk item is not an css chunk item but reporting chunk type css"); }; diff --git a/turbopack/crates/turbopack-css/src/module_asset.rs b/turbopack/crates/turbopack-css/src/module_asset.rs index 4822436f04aab..32480c4cee486 100644 --- a/turbopack/crates/turbopack-css/src/module_asset.rs +++ b/turbopack/crates/turbopack-css/src/module_asset.rs @@ -356,7 +356,6 @@ impl EcmascriptChunkItem for ModuleChunkItem { let Some(css_module) = ResolvedVc::try_downcast_type::(*resolved_module) - .await? else { CssModuleComposesIssue { severity: IssueSeverity::Error.resolved_cell(), diff --git a/turbopack/crates/turbopack-css/src/references/url.rs b/turbopack/crates/turbopack-css/src/references/url.rs index f43fd8ed6363a..00fa0e6053d9b 100644 --- a/turbopack/crates/turbopack-css/src/references/url.rs +++ b/turbopack/crates/turbopack-css/src/references/url.rs @@ -60,9 +60,7 @@ impl UrlAssetReference { chunking_context: Vc>, ) -> Result> { if let Some(module) = *self.resolve_reference().first_module().await? { - if let Some(chunkable) = - ResolvedVc::try_downcast::>(module).await? - { + if let Some(chunkable) = ResolvedVc::try_downcast::>(module) { let chunk_item = chunkable.as_chunk_item(module_graph, chunking_context); if let Some(embeddable) = Vc::try_resolve_downcast::>(chunk_item).await? diff --git a/turbopack/crates/turbopack-dev-server/src/html.rs b/turbopack/crates/turbopack-dev-server/src/html.rs index 38c531b428467..35db6b1e2d326 100644 --- a/turbopack/crates/turbopack-dev-server/src/html.rs +++ b/turbopack/crates/turbopack-dev-server/src/html.rs @@ -146,16 +146,15 @@ impl DevHtmlAsset { } = entry; let assets = if let Some(runtime_entries) = runtime_entries { - let runtime_entries = if let Some(evaluatable) = - ResolvedVc::try_downcast(chunkable_module).await? - { - runtime_entries - .with_entry(*evaluatable) - .to_resolved() - .await? - } else { - runtime_entries - }; + let runtime_entries = + if let Some(evaluatable) = ResolvedVc::try_downcast(chunkable_module) { + runtime_entries + .with_entry(*evaluatable) + .to_resolved() + .await? + } else { + runtime_entries + }; chunking_context.evaluated_chunk_group_assets( chunkable_module.ident(), *runtime_entries, diff --git a/turbopack/crates/turbopack-dev-server/src/source/combined.rs b/turbopack/crates/turbopack-dev-server/src/source/combined.rs index dde095c8e1c1e..930fc31b27a88 100644 --- a/turbopack/crates/turbopack-dev-server/src/source/combined.rs +++ b/turbopack/crates/turbopack-dev-server/src/source/combined.rs @@ -58,7 +58,7 @@ impl Introspectable for CombinedContentSource { .map(|&source| async move { Ok( if let Some(source) = - ResolvedVc::try_sidecast::>(source).await? + ResolvedVc::try_sidecast::>(source) { Some(source.title().await?) } else { @@ -90,9 +90,7 @@ impl Introspectable for CombinedContentSource { self.sources .iter() .copied() - .map(|s| async move { - Ok(ResolvedVc::try_sidecast::>(s).await?) - }) + .map(|s| async move { Ok(ResolvedVc::try_sidecast::>(s)) }) .try_join() .await? .into_iter() diff --git a/turbopack/crates/turbopack-dev-server/src/source/conditional.rs b/turbopack/crates/turbopack-dev-server/src/source/conditional.rs index e3edcd53e26bd..6615e431c20bd 100644 --- a/turbopack/crates/turbopack-dev-server/src/source/conditional.rs +++ b/turbopack/crates/turbopack-dev-server/src/source/conditional.rs @@ -126,8 +126,7 @@ impl Introspectable for ConditionalContentSource { #[turbo_tasks::function] async fn title(&self) -> Result> { - if let Some(activator) = - ResolvedVc::try_sidecast::>(self.activator).await? + if let Some(activator) = ResolvedVc::try_sidecast::>(self.activator) { Ok(activator.title()) } else { @@ -140,10 +139,8 @@ impl Introspectable for ConditionalContentSource { Ok(Vc::cell( [ ResolvedVc::try_sidecast::>(self.activator) - .await? .map(|i| (activator_key(), i)), ResolvedVc::try_sidecast::>(self.action) - .await? .map(|i| (action_key(), i)), ] .into_iter() diff --git a/turbopack/crates/turbopack-dev-server/src/source/issue_context.rs b/turbopack/crates/turbopack-dev-server/src/source/issue_context.rs index 4b87068f418ac..ffbb075b69dcc 100644 --- a/turbopack/crates/turbopack-dev-server/src/source/issue_context.rs +++ b/turbopack/crates/turbopack-dev-server/src/source/issue_context.rs @@ -153,9 +153,7 @@ impl Introspectable for IssueFilePathContentSource { #[turbo_tasks::function] async fn ty(&self) -> Result> { Ok( - if let Some(source) = - ResolvedVc::try_sidecast::>(self.source).await? - { + if let Some(source) = ResolvedVc::try_sidecast::>(self.source) { source.ty() } else { Vc::cell("IssueContextContentSource".into()) @@ -166,9 +164,7 @@ impl Introspectable for IssueFilePathContentSource { #[turbo_tasks::function] async fn title(&self) -> Result> { Ok( - if let Some(source) = - ResolvedVc::try_sidecast::>(self.source).await? - { + if let Some(source) = ResolvedVc::try_sidecast::>(self.source) { let title = source.title().await?; Vc::cell(format!("{}: {}", self.description, title).into()) } else { @@ -180,9 +176,7 @@ impl Introspectable for IssueFilePathContentSource { #[turbo_tasks::function] async fn details(&self) -> Result> { Ok( - if let Some(source) = - ResolvedVc::try_sidecast::>(self.source).await? - { + if let Some(source) = ResolvedVc::try_sidecast::>(self.source) { source.details() } else { Vc::cell(RcStr::default()) @@ -193,9 +187,7 @@ impl Introspectable for IssueFilePathContentSource { #[turbo_tasks::function] async fn children(&self) -> Result> { Ok( - if let Some(source) = - ResolvedVc::try_sidecast::>(self.source).await? - { + if let Some(source) = ResolvedVc::try_sidecast::>(self.source) { source.children() } else { Vc::cell(Default::default()) diff --git a/turbopack/crates/turbopack-dev-server/src/source/lazy_instantiated.rs b/turbopack/crates/turbopack-dev-server/src/source/lazy_instantiated.rs index bf56dded69e37..29188d266914a 100644 --- a/turbopack/crates/turbopack-dev-server/src/source/lazy_instantiated.rs +++ b/turbopack/crates/turbopack-dev-server/src/source/lazy_instantiated.rs @@ -51,7 +51,6 @@ impl Introspectable for LazyInstantiatedContentSource { [ResolvedVc::try_sidecast::>( self.get_source.content_source().to_resolved().await?, ) - .await? .map(|i| (source_key(), i))] .into_iter() .flatten() diff --git a/turbopack/crates/turbopack-dev-server/src/source/router.rs b/turbopack/crates/turbopack-dev-server/src/source/router.rs index c35f6f45f4c32..435931ae496d3 100644 --- a/turbopack/crates/turbopack-dev-server/src/source/router.rs +++ b/turbopack/crates/turbopack-dev-server/src/source/router.rs @@ -65,7 +65,6 @@ async fn get_introspection_children( .chain(std::iter::once((RcStr::default(), *fallback))) .map(|(path, source)| async move { Ok(ResolvedVc::try_sidecast::>(source) - .await? .map(|i| (ResolvedVc::cell(path), i))) }) .try_join() diff --git a/turbopack/crates/turbopack-ecmascript/src/chunk/chunk_type.rs b/turbopack/crates/turbopack-ecmascript/src/chunk/chunk_type.rs index b15b07527f06b..618bdc7f910a1 100644 --- a/turbopack/crates/turbopack-ecmascript/src/chunk/chunk_type.rs +++ b/turbopack/crates/turbopack-ecmascript/src/chunk/chunk_type.rs @@ -57,7 +57,6 @@ impl ChunkType for EcmascriptChunkType { }| { let Some(chunk_item) = ResolvedVc::try_downcast::>(*chunk_item) - .await? else { bail!( "Chunk item is not an ecmascript chunk item but reporting chunk \ diff --git a/turbopack/crates/turbopack-ecmascript/src/chunk_group_files_asset.rs b/turbopack/crates/turbopack-ecmascript/src/chunk_group_files_asset.rs index 4640816c9eb3c..8d88403edf9de 100644 --- a/turbopack/crates/turbopack-ecmascript/src/chunk_group_files_asset.rs +++ b/turbopack/crates/turbopack-ecmascript/src/chunk_group_files_asset.rs @@ -142,7 +142,7 @@ impl ChunkGroupFilesChunkItem { async fn chunks(&self) -> Result> { let inner = self.inner.await?; let chunks = if let Some(ecma) = - ResolvedVc::try_sidecast::>(inner.module).await? + ResolvedVc::try_sidecast::>(inner.module) { inner.chunking_context.evaluated_chunk_group_assets( inner.module.ident(), diff --git a/turbopack/crates/turbopack-ecmascript/src/lib.rs b/turbopack/crates/turbopack-ecmascript/src/lib.rs index 0e5b1f73e6005..f0483a452fdd7 100644 --- a/turbopack/crates/turbopack-ecmascript/src/lib.rs +++ b/turbopack/crates/turbopack-ecmascript/src/lib.rs @@ -767,15 +767,14 @@ impl EcmascriptModuleContent { for r in references.await?.iter() { let r = r.resolve().await?; if let Some(code_gen) = - ResolvedVc::try_sidecast::>(r).await? + ResolvedVc::try_sidecast::>(r) { code_gens.push(code_gen.code_generation( module_graph, chunking_context, async_module_info, )); - } else if let Some(code_gen) = - ResolvedVc::try_sidecast::>(r).await? + } else if let Some(code_gen) = ResolvedVc::try_sidecast::>(r) { code_gens.push(code_gen.code_generation(module_graph, chunking_context)); } diff --git a/turbopack/crates/turbopack-ecmascript/src/manifest/loader_item.rs b/turbopack/crates/turbopack-ecmascript/src/manifest/loader_item.rs index 1bd0cdfe22466..6138006480e52 100644 --- a/turbopack/crates/turbopack-ecmascript/src/manifest/loader_item.rs +++ b/turbopack/crates/turbopack-ecmascript/src/manifest/loader_item.rs @@ -162,7 +162,6 @@ impl EcmascriptChunkItem for ManifestLoaderChunkItem { // dynamically import. let placeable = ResolvedVc::try_downcast::>(manifest.inner) - .await? .ok_or_else(|| anyhow!("asset is not placeable in ecmascript chunk"))?; let dynamic_id = &*placeable .as_chunk_item( diff --git a/turbopack/crates/turbopack-ecmascript/src/references/esm/base.rs b/turbopack/crates/turbopack-ecmascript/src/references/esm/base.rs index 1c3a1ea0f3fc1..9d8d224b42517 100644 --- a/turbopack/crates/turbopack-ecmascript/src/references/esm/base.rs +++ b/turbopack/crates/turbopack-ecmascript/src/references/esm/base.rs @@ -97,7 +97,6 @@ impl ReferencedAsset { &ModuleResolveResultItem::Module(module) => { if let Some(placeable) = ResolvedVc::try_downcast::>(module) - .await? { return Ok(ReferencedAsset::Some(placeable).cell()); } @@ -176,7 +175,6 @@ impl ModuleReference for EsmAssetReference { if let Some(part) = self.export_name { let module: ResolvedVc = ResolvedVc::try_downcast_type(self.origin) - .await? .expect("EsmAssetReference origin should be a EcmascriptModuleAsset"); return Ok(ModuleResolveResult::module( @@ -204,7 +202,7 @@ impl ModuleReference for EsmAssetReference { let part = part.await?; if let &ModulePart::Export(export_name) = &*part { for &module in result.primary_modules().await? { - if let Some(module) = ResolvedVc::try_downcast(module).await? { + if let Some(module) = ResolvedVc::try_downcast(module) { let export = export_name.await?; if *is_export_missing(*module, export.clone_value()).await? { InvalidExport { diff --git a/turbopack/crates/turbopack-ecmascript/src/references/mod.rs b/turbopack/crates/turbopack-ecmascript/src/references/mod.rs index 585b58d6ba443..7036f735b2c9c 100644 --- a/turbopack/crates/turbopack-ecmascript/src/references/mod.rs +++ b/turbopack/crates/turbopack-ecmascript/src/references/mod.rs @@ -604,7 +604,7 @@ pub(crate) async fn analyse_ecmascript_module_internal( } if !source_map_from_comment { if let Some(generate_source_map) = - ResolvedVc::try_sidecast::>(source).await? + ResolvedVc::try_sidecast::>(source) { let source_map_origin = source.ident().path(); analysis.set_source_map( diff --git a/turbopack/crates/turbopack-ecmascript/src/references/pattern_mapping.rs b/turbopack/crates/turbopack-ecmascript/src/references/pattern_mapping.rs index ba59a4bab1ffd..4b864785055fa 100644 --- a/turbopack/crates/turbopack-ecmascript/src/references/pattern_mapping.rs +++ b/turbopack/crates/turbopack-ecmascript/src/references/pattern_mapping.rs @@ -346,7 +346,7 @@ async fn to_single_pattern_mapping( return Ok(SinglePatternMapping::Invalid); } }; - if let Some(chunkable) = ResolvedVc::try_downcast::>(module).await? { + if let Some(chunkable) = ResolvedVc::try_downcast::>(module) { match resolve_type { ResolveType::AsyncChunkLoader => { let loader_id = chunking_context.async_loader_chunk_item_id(*chunkable); diff --git a/turbopack/crates/turbopack-ecmascript/src/references/worker.rs b/turbopack/crates/turbopack-ecmascript/src/references/worker.rs index 48e19529815da..b21ce486a3ed9 100644 --- a/turbopack/crates/turbopack-ecmascript/src/references/worker.rs +++ b/turbopack/crates/turbopack-ecmascript/src/references/worker.rs @@ -69,8 +69,7 @@ impl WorkerAssetReference { let Some(module) = *module.first_module().await? else { return Ok(None); }; - let Some(chunkable) = ResolvedVc::try_downcast::>(module).await? - else { + let Some(chunkable) = ResolvedVc::try_downcast::>(module) else { CodeGenerationIssue { severity: IssueSeverity::Bug.resolved_cell(), title: StyledString::Text("non-ecmascript placeable asset".into()).resolved_cell(), diff --git a/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/facade/chunk_item.rs b/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/facade/chunk_item.rs index 5a841dcb0fc6e..5b734e53fd679 100644 --- a/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/facade/chunk_item.rs +++ b/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/facade/chunk_item.rs @@ -72,15 +72,14 @@ impl EcmascriptChunkItem for EcmascriptModuleFacadeChunkItem { let mut code_gens = Vec::with_capacity(references_ref.len() + 2); for r in &references_ref { if let Some(code_gen) = - ResolvedVc::try_sidecast_sync::>(*r) + ResolvedVc::try_sidecast::>(*r) { code_gens.push(code_gen.code_generation( *self.module_graph, *chunking_context, async_module_info, )); - } else if let Some(code_gen) = - ResolvedVc::try_sidecast_sync::>(*r) + } else if let Some(code_gen) = ResolvedVc::try_sidecast::>(*r) { code_gens.push(code_gen.code_generation(*self.module_graph, *chunking_context)); } diff --git a/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/facade/module.rs b/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/facade/module.rs index d0d114e2e21fb..a8cc8b8dea3c8 100644 --- a/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/facade/module.rs +++ b/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/facade/module.rs @@ -76,7 +76,7 @@ impl Module for EcmascriptModuleFacadeModule { let references = match &*self.ty.await? { ModulePart::Evaluation => { let Some(module) = - ResolvedVc::try_sidecast::>(self.module).await? + ResolvedVc::try_sidecast::>(self.module) else { bail!( "Expected EcmascriptModuleAsset for a EcmascriptModuleFacadeModule with \ @@ -95,7 +95,7 @@ impl Module for EcmascriptModuleFacadeModule { } ModulePart::Exports => { let Some(module) = - ResolvedVc::try_sidecast::>(self.module).await? + ResolvedVc::try_sidecast::>(self.module) else { bail!( "Expected EcmascriptModuleAsset for a EcmascriptModuleFacadeModule with \ diff --git a/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/reference.rs b/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/reference.rs index c363d7c4ea573..ae38911f92273 100644 --- a/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/reference.rs +++ b/turbopack/crates/turbopack-ecmascript/src/side_effect_optimization/reference.rs @@ -67,7 +67,7 @@ impl ModuleReference for EcmascriptModulePartReference { let module = if let Some(part) = self.part { match *part.await? { ModulePart::Locals => { - let Some(module) = ResolvedVc::try_downcast_type(self.module).await? else { + let Some(module) = ResolvedVc::try_downcast_type(self.module) else { bail!( "Expected EcmascriptModuleAsset for a EcmascriptModulePartReference \ with ModulePart::Locals" diff --git a/turbopack/crates/turbopack-ecmascript/src/static_code.rs b/turbopack/crates/turbopack-ecmascript/src/static_code.rs index 68830109e32de..2b968d05f17d6 100644 --- a/turbopack/crates/turbopack-ecmascript/src/static_code.rs +++ b/turbopack/crates/turbopack-ecmascript/src/static_code.rs @@ -38,8 +38,7 @@ impl StaticEcmascriptCode { .module() .to_resolved() .await?; - let Some(asset) = ResolvedVc::try_sidecast::>(module).await? - else { + let Some(asset) = ResolvedVc::try_sidecast::>(module) else { bail!("asset is not an Ecmascript module") }; Ok(Self::cell(StaticEcmascriptCode { diff --git a/turbopack/crates/turbopack-ecmascript/src/worker_chunk/chunk_item.rs b/turbopack/crates/turbopack-ecmascript/src/worker_chunk/chunk_item.rs index 26a2d05f1af86..def0b3da1b48b 100644 --- a/turbopack/crates/turbopack-ecmascript/src/worker_chunk/chunk_item.rs +++ b/turbopack/crates/turbopack-ecmascript/src/worker_chunk/chunk_item.rs @@ -40,8 +40,7 @@ impl WorkerLoaderChunkItem { async fn chunks(&self) -> Result> { let module = self.module.await?; - let Some(evaluatable) = - ResolvedVc::try_downcast::>(module.inner).await? + let Some(evaluatable) = ResolvedVc::try_downcast::>(module.inner) else { bail!( "{} is not evaluatable for Worker loader module", diff --git a/turbopack/crates/turbopack-node/src/lib.rs b/turbopack/crates/turbopack-node/src/lib.rs index 8ce0059b83f93..e90a187a62ef2 100644 --- a/turbopack/crates/turbopack-node/src/lib.rs +++ b/turbopack/crates/turbopack-node/src/lib.rs @@ -94,7 +94,7 @@ async fn internal_assets_for_source_mapping( let mut internal_assets_for_source_mapping = HashMap::new(); for asset in internal_assets.iter() { if let Some(generate_source_map) = - ResolvedVc::try_sidecast::>(*asset).await? + ResolvedVc::try_sidecast::>(*asset) { if let Some(path) = intermediate_output_path.get_path_to(&*asset.ident().path().await?) { diff --git a/turbopack/crates/turbopack-nodejs/src/chunking_context.rs b/turbopack/crates/turbopack-nodejs/src/chunking_context.rs index dec36c52e7634..4acc37597ecf9 100644 --- a/turbopack/crates/turbopack-nodejs/src/chunking_context.rs +++ b/turbopack/crates/turbopack-nodejs/src/chunking_context.rs @@ -434,7 +434,7 @@ impl ChunkingContext for NodeJsChunkingContext { ) .collect(); - let Some(module) = ResolvedVc::try_downcast(module).await? else { + let Some(module) = ResolvedVc::try_downcast(module) else { bail!("module must be placeable in an ecmascript chunk"); }; diff --git a/turbopack/crates/turbopack-nodejs/src/ecmascript/node/entry/chunk.rs b/turbopack/crates/turbopack-nodejs/src/ecmascript/node/entry/chunk.rs index bd8e5f53e4950..52437064eceaa 100644 --- a/turbopack/crates/turbopack-nodejs/src/ecmascript/node/entry/chunk.rs +++ b/turbopack/crates/turbopack-nodejs/src/ecmascript/node/entry/chunk.rs @@ -114,7 +114,6 @@ impl EcmascriptBuildNodeEntryChunk { for evaluatable_asset in &*evaluatable_assets { if let Some(placeable) = ResolvedVc::try_sidecast::>(*evaluatable_asset) - .await? { let runtime_module_id = placeable .as_chunk_item(*this.module_graph, Vc::upcast(*this.chunking_context)) diff --git a/turbopack/crates/turbopack-tests/tests/snapshot.rs b/turbopack/crates/turbopack-tests/tests/snapshot.rs index 3b04d109e3879..4ac2c29f8f03f 100644 --- a/turbopack/crates/turbopack-tests/tests/snapshot.rs +++ b/turbopack/crates/turbopack-tests/tests/snapshot.rs @@ -498,9 +498,7 @@ async fn walk_asset( .await? .iter() .copied() - .map(|asset| async move { - Ok(ResolvedVc::try_downcast::>(asset).await?) - }) + .map(|asset| async move { Ok(ResolvedVc::try_downcast::>(asset)) }) .try_join() .await? .into_iter() diff --git a/turbopack/crates/turbopack/src/global_module_ids.rs b/turbopack/crates/turbopack/src/global_module_ids.rs index 355efe434fea5..46219efabe0ab 100644 --- a/turbopack/crates/turbopack/src/global_module_ids.rs +++ b/turbopack/crates/turbopack/src/global_module_ids.rs @@ -34,7 +34,7 @@ pub async fn get_global_module_id_strategy( .traverse_all_edges_unordered(|parent, current| { if let (_, &ChunkingType::Async) = parent { let module = - ResolvedVc::try_sidecast_sync::>(current.module) + ResolvedVc::try_sidecast::>(current.module) .context("expected chunkable module for async reference")?; async_idents.push(AsyncLoaderModule::asset_ident_for(*module)); } diff --git a/turbopack/crates/turbopack/src/module_options/rule_condition.rs b/turbopack/crates/turbopack/src/module_options/rule_condition.rs index 55eaf9440f21a..4f58387e4ce97 100644 --- a/turbopack/crates/turbopack/src/module_options/rule_condition.rs +++ b/turbopack/crates/turbopack/src/module_options/rule_condition.rs @@ -96,9 +96,7 @@ impl RuleCondition { } RuleCondition::ReferenceType(condition_ty) => condition_ty.includes(reference_type), RuleCondition::ResourceIsVirtualSource => { - ResolvedVc::try_downcast_type::(source) - .await? - .is_some() + ResolvedVc::try_downcast_type::(source).is_some() } RuleCondition::ResourcePathGlob { glob, base } => { if let Some(path) = base.get_relative_path_to(path) {