]> git.lizzy.rs Git - rust.git/blob - src/test/ui/statics/static-method-in-trait-with-tps-intracrate.rs
Merge commit '9809f5d21990d9e24b3e9876ea7da756fd4e9def' into libgccjit-codegen
[rust.git] / src / test / ui / statics / static-method-in-trait-with-tps-intracrate.rs
1 // run-pass
2 #![allow(dead_code)]
3
4 trait Deserializer {
5     fn read_int(&self) -> isize;
6 }
7
8 trait Deserializable<D:Deserializer> {
9     fn deserialize(d: &D) -> Self;
10 }
11
12 impl<D:Deserializer> Deserializable<D> for isize {
13     fn deserialize(d: &D) -> isize {
14         return d.read_int();
15     }
16 }
17
18 struct FromThinAir { dummy: () }
19
20 impl Deserializer for FromThinAir {
21     fn read_int(&self) -> isize { 22 }
22 }
23
24 pub fn main() {
25     let d = FromThinAir { dummy: () };
26     let i: isize = Deserializable::deserialize(&d);
27     assert_eq!(i, 22);
28 }