File tree 2 files changed +25
-1
lines changed
2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -589,7 +589,7 @@ fn (mut g Gen) assign_stmt(node_ ast.AssignStmt) {
589
589
}
590
590
fn_name := c_fn_name (g.get_ternary_name (ident.name))
591
591
592
- if val_type.has_flag (.option) && val is ast.SelectorExpr {
592
+ if val_type.has_flag (.option) {
593
593
ret_styp := g.typ (g.unwrap_generic (val_type))
594
594
g.write ('${ret_styp} ${fn_name} ' )
595
595
} else {
Original file line number Diff line number Diff line change
1
+ type DataFn = fn (name string ) string
2
+
3
+ fn which_lang (name string ) string {
4
+ return name
5
+ }
6
+
7
+ fn find_func (name string ) ? DataFn {
8
+ a := ? DataFn (which_lang)
9
+ return a
10
+ }
11
+
12
+ fn find_func2 (name string ) ? DataFn {
13
+ a := if name == 'vlang' { ? DataFn (which_lang) } else { none }
14
+ return a
15
+ }
16
+
17
+ fn test_main () {
18
+ if a := find_func ('foo' ) {
19
+ assert a ('bar' ) == 'bar'
20
+ }
21
+ if b := find_func ('foo' ) {
22
+ assert b ('bar' ) == 'bar'
23
+ }
24
+ }
You can’t perform that action at this time.
0 commit comments