TES
ну так это именно то о чём я говорил. массив - это shared state. и наличие локов - это проблемы синхронизации.
13.11.1. Сюжет усложняется:
квалификатор shared транзитивен
В главе
8 объясняется,
почему
квалификаторы
const и immutable должны
быть транзитивными
(свойство,
также
известное
как глубина
или
рекурсивность):
каким
бы косвенным
путем
вы ни следовали,
рассматривая
«внутренности
» неизменяемого
объекта,
сами
данные
должны
оставаться
неизменяемыми.
В противном
случае
гарантии,
предоставляемые
квалификатором
immutable, имели
бы силу
комментария
в коде.