aboutsummaryrefslogtreecommitdiff
path: root/bootstrap/test2.cff
blob: 7a61f28b50fd98e8d2470d0b8514214be5f24987 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import "libc.hff";

struct Node<T> {
   link *Node,
   value T,

   fn ok(self Node) void {
   }
}

struct Bit<T> {
   fn neg(x T) T { return ~x; }
}

extern fn main() void {
   let n Node<int> = {#null, 0};
   let n Node<int> = {&n, 1};

   let x int #?;

   printf("n %d\n", n.value);
   printf("n link %d\n", n.link.value);

   let x Node<f32> = {};
   n->ok();
   x->ok();

   Bit<i32>:neg(3);
   Bit<i64>:neg(3);
}