aboutsummaryrefslogtreecommitdiff
path: root/examples/learn/15-generics.zc
blob: dfc48337f372b36a695df01a9d3bc1da48f639db (plain) (blame)
1
2
3
4
5
6
7
8
9
struct record<K, V> { K key; V val; };
struct point { int x; int y; };
K keyof<K, V>(record<K, V>* r) { return r.key; }
fn main() {
	record<int, point>* r = new(record<int, point>);
	r.key = 9;
	put_n(keyof(r)); put_c(10);
	return 0;
}