У типа Bound появился метод copied — перевод границы в ссылку в значение
01.09.2025У типа Bound появился метод copied: он переводит границу со ссылкой в границу со значением. Раньше для этого требовалось писать замыкание с преобразованием вручную.
Зачем это нужно
Bound — это описание ограничения на размер коллекции: либо указан диапазон, либо сказано, что ограничения нет, либо указан безусловный предел. Он входит в состав параметров, передаваемых алгоритмам вида «возьми из коллекции примерно столько-то».
Само значение — обобщённое, и внутри алгоритма оно обычно оказывается либо ссылкой, либо числом, в зависимости от того, с чем алгоритм работает. Преобразование в одну сторону из другой требует сопоставления с вариантом, что и делает новый метод.
Что даёт
Раньше вызов выглядел как преобразование через замыкание, и его нетрудно было забыть или написать неверно для одной из ветвей. Теперь это одна операция с именем, отражающим смысл.
Оригинал
add Bound::copied
Упоминаний: 1 · Просмотров: 2