fn C.func(arg i32) i32 fn fn_variadic(arg int, args ...string) { println('Do nothing') } fn fn_with_assign_stmts() { _, _ := fn_with_multi_return() } fn fn_with_multi_return() (int, string) { return 0, 'test' } fn voidfn() { println('this is a function that does not return anything') } fn fn_with_1_arg(arg int) int { return 0 } fn fn_with_2a_args(arg1 int, arg2 int) int { return 0 } fn fn_with_2_args_to_be_shorten(arg1 int, arg2 int) int { return 0 } fn fn_with_2b_args(arg1 string, arg2 int) int { return 0 } fn fn_with_3_args(arg1 string, arg2 int, arg3 User) int { return 0 } fn (this User) fn_with_receiver() { println('') } fn fn_with_option() ?int { if true { return error('true') } return 30 } fn (f Foo) fn_with_option() ?int { if true { return error('true') } return 40 } fn mut_array(mut a []int) { println(1) } fn fn_with_ref_return() &Foo { return &Foo{} } @[inline] fn fn_with_flag() { println('flag') }