v2 / vlib / v / tests / printing / print_smartcast_interface_variable_test.v
25 lines · 22 sloc · 365 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1interface Any {}
2
3fn do(v Any) string {
4 match v {
5 int {
6 println('> integer answer: ${2 * v}')
7 return '${2 * v}'
8 }
9 string {
10 println('> string answer: ${v}, len: ${v.len}')
11 return '${v}'
12 }
13 else {
14 return ''
15 }
16 }
17}
18
19fn test_printing_smartcast_interface_variable() {
20 s1 := do(123)
21 assert s1 == '246'
22
23 s2 := do('abc')
24 assert s2 == 'abc'
25}
26