summaryrefslogtreecommitdiff
path: root/test/genericimpl.myr
blob: ef8e094c35b3b80fa8e0692da2eb6a09c725d82f (plain)
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
31
32
33
use std

trait gimpl @a =
	desc	: (x : @a -> byte[:])
;;

impl gimpl int =
	desc = {x
		-> "int"
	}
;;

impl gimpl byte[:] =
	desc = {x
		-> "string"
	}
;;

impl gimpl @a =
	desc = {x
		-> "@a"
	}
;;

impl gimpl @b[:] =
	desc = {x
		-> "@a[:]"
	}
;;

const main = {
	std.put("{} {} {} {}\n", desc(123), desc("foo"), desc('x'), desc([true][:]))
}