parser: fix function return anon_fn without parentheses
							parent
							
								
									504fd01f57
								
							
						
					
					
						commit
						73296e486a
					
				|  | @ -219,7 +219,7 @@ fn (mut p Parser) fn_decl() ast.FnDecl { | |||
| 	mut end_pos := p.prev_tok.position() | ||||
| 	// Return type
 | ||||
| 	mut return_type := table.void_type | ||||
| 	if p.tok.kind.is_start_of_type() { | ||||
| 	if p.tok.kind.is_start_of_type() || (p.tok.kind == .key_fn && p.tok.line_nr == p.prev_tok.line_nr) { | ||||
| 		end_pos = p.tok.position() | ||||
| 		return_type = p.parse_type() | ||||
| 	} | ||||
|  |  | |||
|  | @ -144,3 +144,14 @@ fn test_fn_type_call() { | |||
| 	} | ||||
| 	assert st1.f(10) == 1010 | ||||
| } | ||||
| 
 | ||||
| fn ff() fn () int { | ||||
| 	return fn () int { | ||||
| 		return 22 | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| fn test_fn_return_fn() { | ||||
| 	f := ff() | ||||
| 	assert f() == 22 | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue