]> git.lizzy.rs Git - rust.git/blob - src/test/run-pass/newtype.rs
Auto merge of #61817 - eddyb:begone-gcx-attempt-2, r=oli-obk
[rust.git] / src / test / run-pass / newtype.rs
1 #![allow(non_camel_case_types)]
2 #[derive(Copy, Clone)]
3 struct mytype(Mytype);
4
5 #[derive(Copy, Clone)]
6 struct Mytype {
7     compute: fn(mytype) -> isize,
8     val: isize,
9 }
10
11 fn compute(i: mytype) -> isize {
12     let mytype(m) = i;
13     return m.val + 20;
14 }
15
16 pub fn main() {
17     let myval = mytype(Mytype{compute: compute, val: 30});
18     println!("{}", compute(myval));
19     let mytype(m) = myval;
20     assert_eq!((m.compute)(myval), 50);
21 }