тому, что удалось пока откопать, это как-то связано с понятием "trait object safety")
trait Bar {
fn bad<T> (&self, x: T) where Self: Sized;
}
impl Bar for u8 {
fn bad<T> (&self, _: T) where Self: Sized {}
}
fn main() {
(&1_u8 as &Bar).bad("foo");
}
trait Bar { fn bad<T> (&self, x: T) where Self: Sized; } impl Bar for u8 { fn bad<T> (&self, _: T) where Self: Sized {} } fn main() { Bar::bad(&1u8,"foo"); } Аналогичный по сути код но работает
Обсуждают сегодня