v2 / vlib / v / checker / tests / top_level_fn_builtin_decl_err.vv
23 lines · 20 sloc · 391 bytes · 9b3180014323a792d44c009bd0f18e5e21d5cbc5
Raw
1@[inline]
2fn char(ch u8) fn (string) !(u8, string) {
3 return fn [ch] (input string) !(u8, string) {
4 return if input[0] == ch {
5 ch, input[1..]
6 } else {
7 error('Some error')
8 }
9 }
10}
11
12fn main() {
13 a_char := int('a'[0])
14 inputs := ['a', 'abc']
15 remains := ['', 'bc']
16
17 for i, input in inputs {
18 got, remain := a_char(input)!
19
20 assert got == 'a'[0]
21 assert remain == remains[i]
22 }
23}
24