diff --git a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs index 4a29633d730a5..1208b0bdc8fc3 100644 --- a/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs +++ b/turbopack/crates/turbo-tasks-backend/src/backend/mod.rs @@ -38,7 +38,7 @@ use self::{operation::ExecuteContext, storage::Storage}; use crate::{ data::{ CachedDataItem, CachedDataItemKey, CachedDataItemValue, CachedDataUpdate, CellRef, - InProgressState, OutputValue, + InProgressState, OutputValue, RootType, }, get, remove, utils::{bi_map::BiMap, chunked_vec::ChunkedVec, ptr_eq_arc::PtrEqArc}, @@ -665,11 +665,16 @@ impl Backend for TurboTasksBackend { turbo_tasks: &dyn TurboTasksBackendApi, ) -> TaskId { let task_id = self.transient_task_id_factory.get(); + let root_type = match task_type { + TransientTaskType::Root(_) => RootType::RootTask, + TransientTaskType::Once(_) => RootType::OnceTask, + }; self.transient_tasks .insert(task_id, Arc::new(tokio::sync::Mutex::new(task_type))); { let mut task = self.storage.access_mut(task_id); task.add(CachedDataItem::new_scheduled(task_id)); + task.add(CachedDataItem::AggregateRootType { value: root_type }); } turbo_tasks.schedule(task_id); task_id diff --git a/turbopack/crates/turbo-tasks-backend/src/data.rs b/turbopack/crates/turbo-tasks-backend/src/data.rs index 4800dec0a3690..05a10bc3981d5 100644 --- a/turbopack/crates/turbo-tasks-backend/src/data.rs +++ b/turbopack/crates/turbo-tasks-backend/src/data.rs @@ -26,8 +26,8 @@ impl OutputValue { #[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum RootType { - _RootTask, - _OnceTask, + RootTask, + OnceTask, _ReadingStronglyConsistent, }