next.js
5dac4482 - Turbopack: fix and finish immutable tasks (#80996)

Commit
176 days ago
Turbopack: fix and finish immutable tasks (#80996) ### What? Fixes the problems with the implementation of immutable tasks, adds tests and debug asserts to ensure it's working. * There was some confusion between children and dependencies. Children are not involved with immutablility, only dependencies are. * Opt out of immutablility for reading collectibles and for getting an invalidator. * Removed `#[turbo_tasks::function(invalidator)]` and the logic of discovering statically immutable with macro code. It won't work as local tasks are invisible and can cause dependencies Follow-up changes: * Technically immutability could be per cell instead of per task. A task produces immutable cells until it does something that depends on mutable cells or other opt-outs. It could be `RawVc::ImmutableCell` and the immutable flag would be only in `InProgressState` and not on a task.
Author
Parents
Loading