Я нашел определение std::borrow::BorrowMut
:
pub trait BorrowMut<Borrowed>: Borrow<Borrowed>
where
Borrowed: ?Sized,
{
fn borrow_mut(&mut self) -> &mut Borrowed;
}
Что означает знак вопроса перед Sized
в этом параметре связанного параметра (Borrowed: ?Sized
)?
Я консультировался:
- Язык программирования ржавчины ¹ книга,
- Ссылка на ржавчину, а также
- Что такое "Размер не реализован" ? означает? о переполнении стека.
но не нашел объяснения. Пожалуйста, дайте ссылку в своем ответе.
¹ особенно см. раздел 5.20 Черты
² и раздел 6.1.9 Черты