❓ В
Swift 6.4 добавил Hashable к нескольким типам стандартной библиотеки, которые уже можно было сравнивать, но нельзя было использовать как ключи словаря или элементы Set.⚠️ Главное по изменениям:
➡️
Dictionary.Keys теперь Hashable. Можно хранить view ключей прямо в Set или использовать как ключ словаря, равенство и хеширование основаны на множестве ключей (порядок и значения не важны). Когда порядок важен, явно сортируйте ключи или превращайте их в массив.➡️
CollectionOfOne и EmptyCollection получили условные Equatable/Hashable. Это в основном повышает согласованность стандартной библиотеки и помогает в обобщённых алгоритмах.➡️
UnownedTaskExecutor стал Hashable. Это удобно для реализации пулов и маппинга ресурсов на исполнители — теперь можно O(1) поиск в словаре вместо линейного поиска по массиву. Однако стоит помнить: UnownedTaskExecutor по‑прежнему не удерживает исполнитель, поэтому нужно вручную очищать записи при завершении исполнителя, иначе словарь будет содержать «висячие» ключи.