|  | // Copyright (c) 2020, the Dart project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | /// Test that the type of a local function is an error if local function type | 
|  | /// inference requires the type of the function being inferred. | 
|  |  | 
|  | void main() { | 
|  | f() { | 
|  | return 3; | 
|  | } | 
|  |  | 
|  | f().arglebargle; | 
|  | //  ^^^^^^^^^^^ | 
|  | // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_GETTER | 
|  | // [cfe] The getter 'arglebargle' isn't defined for the class 'int'. | 
|  | f().isEven; // Inferred type is int | 
|  |  | 
|  | g() { | 
|  | if (f() == 3) { | 
|  | return g(); | 
|  | } else { | 
|  | return 3; | 
|  | } | 
|  | } | 
|  | //^ | 
|  | // [analyzer] unspecified | 
|  | // [cfe] unspecified | 
|  | // TODO(45942): This may be the wrong location, but until the linked issue is | 
|  | // fixed and implementations report the error, this is as good as any. | 
|  | } |