-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot resolve method on recursive closure variable #1787
Comments
This comment was originally written by @chrisbu Actually, I'm not sure if this should ever work. eg, I wouldn't expect this to work: so why should this work either? I suspect you can close this issue. |
Your analysis is correct. You cannot access the left-hand side of the variable declaration from within the initializing expression. You can recursively call a closure by naming the closure directly as in the modified example below. See: http://try.dartlang.org/s/lnss main() { myFunc(); Added Invalid label. |
Revisions updated by `dart tools/rev_sdk_deps.dart`. ffi (https://github.com/dart-lang/ffi/compare/3ede231..17a8142): 17a8142 2022-11-21 Daco Harkes Add links to API reference and examples to README (#167) fixnum (https://github.com/dart-lang/fixnum/compare/bca3816..62916f2): 62916f2 2022-11-24 Lasse R.H. Nielsen Split into separate libraries instead of using parts. (#97) 14d4827 2022-11-23 Lasse R.H. Nielsen Add `tryParse` methods. (#96) http (https://github.com/dart-lang/http/compare/d56141d..047d6ed): 047d6ed 2022-11-22 Brian Quinlan Fixes a bug where requests made in different Clients would fail (#827) 9dbbafb 2022-11-17 Brian Quinlan Add tests for compressed responses (#823) markdown (https://github.com/dart-lang/markdown/compare/37951d1..ee3f4e9): ee3f4e9 2022-11-24 Zhiguang Chen Fix a blockquote issue (#496) c9048c0 2022-11-16 Zhiguang Chen Optimise DelimiterSyntax (#492) protobuf (https://github.com/dart-lang/protobuf/compare/ae90e53..c181573): c181573 2022-11-23 Kevin Moore [api_benchmark] migrate to null-safety (#776) 648deaf 2022-11-23 Kevin Moore Standardize and fix lints (#775) bfa4c0d 2022-11-23 Kevin Moore Fix `///` at the top of generated Dart files (#774) ed68426 2022-11-17 Devon Carew Remove duplicate consts (#773) sse (https://github.com/dart-lang/sse/compare/283568d..8d018dd): 8d018dd 2022-11-23 Elliott Brooks (she/her) Format markdown files (#68) 2f6f151 2022-11-23 Elliott Brooks (she/her) Add optional `debugKey` parameter to SSE client (#67) eaee6a8 2022-11-23 Elliott Brooks (she/her) Use Fetch API in SSE Client (#66) test (https://github.com/dart-lang/test/compare/7756833..b25dac9): b25dac99 2022-11-21 Kevin Moore checks: finish async tests (#1793) 3166163e 2022-11-18 Devon Carew Update scorecards-analysis.yml (#1792) d930d5b0 2022-11-18 Nate Bosch Add support for async soft checks (#1789) b1411a21 2022-11-18 Devon Carew blast_repo fixes (#1788) a6aa04e0 2022-11-18 Jacob MacDonald disable wasm tests for now as they are failing (#1791) 8b5174c1 2022-11-17 Kevin Moore Starting on async tests (#1787) Change-Id: Ic361fce7753d08d43fc827f13cb1bfa1738cc16e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/272343 Auto-Submit: Devon Carew <devoncarew@google.com> Reviewed-by: Kevin Moore <kevmoo@google.com> Commit-Queue: Devon Carew <devoncarew@google.com>
This issue was originally filed by @chrisbu
What steps will reproduce the problem?
1.
main() {
bool blah = false;
var myFunc = () {
print("in myfunc");
if (blah) {
myFunc(); <---- this line gives an error
}
};
myFunc();
}
See: http://try.dartlang.org/s/_zIs
What is the expected output? What do you see instead?
Expected to be able to refer to the closure variable by name.
Workaround is to change the
var myFunc = () {}
to myFunc() {}
as in http://try.dartlang.org/s/TXcs
What version of the product are you using? On what operating system?
Dartboard (as at todays date)
Dart Editor 4349 (Win64)
Please provide any additional information below.
Brief discussion here: https://groups.google.com/a/dartlang.org/group/misc/browse_frm/thread/ec2854de3cd8ca3d#
The text was updated successfully, but these errors were encountered: