Генераторы случайных чисел теперь можно разделять ссылкой
21.07.2026Трейт генератора случайных чисел реализован для ссылок на генераторы и для изменяемых ссылок. Помечено как нестабильное.
Что это даёт
Функция, принимающая генератор, начинает работать со ссылкой на него без дополнительных правок на стороне вызывающего. То есть параметр можно объявить как ссылку, и передать туда можно и сам генератор, и ссылку.
Побочный эффект — устраняется непоследовательность: реализация для ссылки отсутствовала, хотя для всего остального трейт применялся к ссылкам по умолчанию. Расхождение приходилось учитывать при написании обобщённого кода.
Почему не добавили заимствующий метод
Намеренно. Метод, дающий заимствующий генератор, легко добавить позже, и предполагается, что он должен быть последним — то есть требовать явного завершения цепочки заимствований. Это решение принято на основе обсуждения, а не по умолчанию.
Оригинал
core: implement Rng for references
Упоминаний: 1 · Просмотров: 2