diff --git a/crates/turbopack-build/src/chunking_context.rs b/crates/turbopack-build/src/chunking_context.rs index 6da253d2d63e9..7e3c6fb8bbe2e 100644 --- a/crates/turbopack-build/src/chunking_context.rs +++ b/crates/turbopack-build/src/chunking_context.rs @@ -275,10 +275,10 @@ impl ChunkingContext for BuildChunkingContext { } #[turbo_tasks::function] - async fn with_layer(self: Vc, layer: String) -> Result>> { + async fn with_layer(self: Vc, layer: String) -> Result> { let mut context = self.await?.clone_value(); context.layer = (!layer.is_empty()).then(|| layer.to_string()); - Ok(Vc::upcast(BuildChunkingContext::new(Value::new(context)))) + Ok(BuildChunkingContext::new(Value::new(context))) } #[turbo_tasks::function] diff --git a/crates/turbopack-core/src/chunk/chunking_context.rs b/crates/turbopack-core/src/chunk/chunking_context.rs index a67e0ad6603ca..f7d1b6361f0f4 100644 --- a/crates/turbopack-core/src/chunk/chunking_context.rs +++ b/crates/turbopack-core/src/chunk/chunking_context.rs @@ -49,7 +49,7 @@ pub trait ChunkingContext { Vc::cell("".to_string()) } - fn with_layer(self: Vc, layer: String) -> Vc>; + fn with_layer(self: Vc, layer: String) -> Vc; fn chunk_group(self: Vc, entry: Vc>) -> Vc; diff --git a/crates/turbopack-dev/src/chunking_context.rs b/crates/turbopack-dev/src/chunking_context.rs index 47395d7acd3e1..73b6f6330974f 100644 --- a/crates/turbopack-dev/src/chunking_context.rs +++ b/crates/turbopack-dev/src/chunking_context.rs @@ -301,10 +301,10 @@ impl ChunkingContext for DevChunkingContext { } #[turbo_tasks::function] - async fn with_layer(self: Vc, layer: String) -> Result>> { + async fn with_layer(self: Vc, layer: String) -> Result> { let mut context = self.await?.clone_value(); context.layer = (!layer.is_empty()).then(|| layer.to_string()); - Ok(Vc::upcast(DevChunkingContext::new(Value::new(context)))) + Ok(DevChunkingContext::new(Value::new(context))) } #[turbo_tasks::function] diff --git a/crates/turbopack/src/transition/mod.rs b/crates/turbopack/src/transition/mod.rs index 36107cd89b3ef..33207c7236b5d 100644 --- a/crates/turbopack/src/transition/mod.rs +++ b/crates/turbopack/src/transition/mod.rs @@ -4,7 +4,7 @@ use std::collections::HashMap; use anyhow::Result; pub use context_transition::ContextTransition; -use turbo_tasks::{Value, Vc}; +use turbo_tasks::{Value, ValueDefault, Vc}; use turbopack_core::{ compile_time_info::CompileTimeInfo, module::Module, reference_type::ReferenceType, source::Source, @@ -88,3 +88,11 @@ pub trait Transition { #[turbo_tasks::value(transparent)] pub struct TransitionsByName(HashMap>>); + +#[turbo_tasks::value_impl] +impl ValueDefault for TransitionsByName { + #[turbo_tasks::function] + fn value_default() -> Vc { + Vc::cell(Default::default()) + } +}