From 135c08fd76ee2db637cb0b878ca848642755c972 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Mon, 17 Jul 2023 16:44:56 +0200 Subject: [PATCH] add direct cycle detection (#5544) ### Description very simple detection of dumb mistakes --- crates/turbo-tasks-memory/src/memory_backend.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/turbo-tasks-memory/src/memory_backend.rs b/crates/turbo-tasks-memory/src/memory_backend.rs index 7c9bb1d81e5bc..a7654e37b00f7 100644 --- a/crates/turbo-tasks-memory/src/memory_backend.rs +++ b/crates/turbo-tasks-memory/src/memory_backend.rs @@ -443,11 +443,17 @@ impl Backend for MemoryBackend { fn task_execution_result( &self, - task: TaskId, + task_id: TaskId, result: Result, Option>>, turbo_tasks: &dyn TurboTasksBackendApi, ) { - self.with_task(task, |task| { + self.with_task(task_id, |task| { + #[cfg(debug_assertions)] + if let Ok(Ok(RawVc::TaskOutput(result))) = result.as_ref() { + if *result == task_id { + panic!("Task {} returned itself as output", task.get_description()); + } + } task.execution_result(result, self, turbo_tasks); }) }