Ожидаемый параметр типа, найден u8, но параметр типа равен u8
trait Foo {
fn foo<T>(&self) -> T;
}
struct Bar {
b: u8,
}
impl Foo for Bar {
fn foo<u8>(&self) -> u8 {
self.b
}
}
fn main() {
let bar = Bar {
b: 2,
};
println!("{:?}", bar.foo());
}
Приведенный выше код приводит к следующей ошибке:
error[E0308]: mismatched types
--> <anon>:11:9
|
11 | self.b
| ^^^^^^ expected type parameter, found u8
|
= note: expected type `u8` (type parameter)
found type `u8` (u8)
Я думаю, проблема в родовой функции в черте.