Вы не можете напрямую реализовывать методы для типов вне вашей собственной корзины.Однако, как говорится в справочном сообщении, вы можете определить новую черту и затем реализовать ее:
pub trait NewFrom<T> {
fn new(value: T) -> Self;
}
impl NewFrom<&u32> for usize {
fn new(value: &u32) -> Self {
*value as usize
}
}
Тем не менее, это немного странная вещь.Обычно вы просто используете встроенное преобразование:
let int: u32 = 1;
let size = int as usize;