@TaskLocal — значения, наследуемые дочерними задачами structured concurrency (похожи на thread-local, но для задач).
Разбор
- Удобно для request id, трассировки, dependency в тестах.
- Detached задачи не наследуют так же.
- Не для больших объектов без нужды.
- Читаются через
$value API.
Итог
Task-local переносит контекст по дереву задач без явной передачи параметра.