У типа Bound появился метод copied — перевод границы в ссылку в значение

01.09.2025

У типа Bound появился метод copied: он переводит границу со ссылкой в границу со значением. Раньше для этого требовалось писать замыкание с преобразованием вручную.

Зачем это нужно

Bound — это описание ограничения на размер коллекции: либо указан диапазон, либо сказано, что ограничения нет, либо указан безусловный предел. Он входит в состав параметров, передаваемых алгоритмам вида «возьми из коллекции примерно столько-то».

Само значение — обобщённое, и внутри алгоритма оно обычно оказывается либо ссылкой, либо числом, в зависимости от того, с чем алгоритм работает. Преобразование в одну сторону из другой требует сопоставления с вариантом, что и делает новый метод.

Что даёт

Раньше вызов выглядел как преобразование через замыкание, и его нетрудно было забыть или написать неверно для одной из ветвей. Теперь это одна операция с именем, отражающим смысл.

Оригинал

add Bound::copied

Упоминаний: 1 · Просмотров: 2