Parâmetro de tipo esperado, encontrado u8, mas o parâmetro de tipo é 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());
}
O código acima resulta no seguinte erro:
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)
Meu palpite é que o problema vem da função genérica no traço.