]> git.lizzy.rs Git - rust.git/blob - src/test/ui/traits/vtable-res-trait-param.rs
:arrow_up: rust-analyzer
[rust.git] / src / test / ui / traits / vtable-res-trait-param.rs
1 trait TraitA {
2     fn method_a(&self) -> isize;
3 }
4
5 trait TraitB {
6     fn gimme_an_a<A:TraitA>(&self, a: A) -> isize;
7 }
8
9 impl TraitB for isize {
10     fn gimme_an_a<A:TraitA>(&self, a: A) -> isize {
11         a.method_a() + *self
12     }
13 }
14
15 fn call_it<B:TraitB>(b: B)  -> isize {
16     let y = 4;
17     b.gimme_an_a(y) //~ ERROR `{integer}: TraitA` is not satisfied
18 }
19
20 fn main() {
21     let x = 3;
22     assert_eq!(call_it(x), 22);
23 }