-
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
Add "safe navigation"/existential operator #41
Comments
This comment was originally written by todd.chambery...@gmail.com This was entered as a Defect in error, please change to Enhancement. |
This comment was originally written by jat@google.com Removed Type-Defect label. |
This comment was originally written by drfibonacci@google.com Added Area-Language, Triaged labels. |
Interesting idea. We'll think about it. Set owner to @gbracha. |
Issue #66 has been merged into this issue. |
This comment was originally written by waqner...@gmail.com A replacement of || for null-checks would also be quite useful, as || now works only on booleans. C# uses ?? for this purpose. foo = mightBeNull || default; //in JS becomes foo = mightBeNull ?? default; //in C# or hopefully future Dart? |
This comment was originally written by demis.b...@gmail.com +1 Dart really needs to copy CoffeeScript's existential as this is one of the biggest friction points I'm facing (moving from CoffeeScript). Both these snippets are obvious, more readable, require less boilerplate and make it effortless to write safer code: zip = lottery.drawWinner?().address?.zipcode; |
Added apr30-triage label. |
Removed apr30-triage label. |
Added triage1 label. |
This comment was originally written by rtim...@gmail.com ∃ and ∄ would be appropriate to use for this. As our current static keyboard layouts fail to provide a usable input mechanism for such symbols, an ascii alias might be usefull ;) |
Issue #5630 has been merged into this issue. |
This comment was originally written by axnsoftw...@gmail.com How about making this more like as in Objective C where you can send messages to NIL that then will be ignored? In case of chaining multiple messages send to a given object and objects returned thereof, each message sent to a NIL objects would return a NIL again so that the chained calls would not fail. |
This comment was originally written by demis.b...@gmail.com I like Obj-C approach as well but for ease of determining the source of errors, it may be a good idea to be explicit when it doesn't matter. The existential operator is a convenient choice to opt-in for this. |
This comment was originally written by emilioplatze...@gmail.com I use in Javascript when recibe info in Json files with optative fields. ((student.preferences || {}).hobies || {}).bricollage I prefer any sugar sintax not LISP (ie: without the intrusive parenthesis). |
This comment was originally written by yourp...@gmail.com For the ease of discussion, I'll add that the ?? operator in C# is called the null-coalescing operator. Here's an example I've used in C# where this operator has come in handy: if ((stringMightBeNull ?? "").Length == 0) { |
I miss this from Ruby, fwiw. |
Met with external customers today, and they asked for this, or something like it. They'd be fine with C#'s null-coalescing operator. |
…criptor, stack_trace, usage, watcher bazel_worker (https://github.com/dart-lang/bazel_worker/compare/ceeba09..9710de6): 9710de6 2022-04-19 Devon Carew Update pubspec.yaml (#62) ec5905a 2022-03-20 Kevin Moore Fix CI (#61) collection (https://github.com/dart-lang/collection/compare/e1407da..69766da): 69766da 2022-05-25 Nate Bosch Add complexity bound on binary search methods (#239) 5b43ad7 2022-04-08 Kevin Moore Fix analysis issue with latest dev release (#236) e83c373 2022-04-08 Enrico Zamagni fixed maxBy compare param signature (#224) c1a07e4 2022-04-08 Sandro Lovnički Add a comment about NaN in min/max extensions (#234) 2bbb27b 2022-03-07 Nate Bosch Prepare to publish (#233) mockito (https://github.com/dart-lang/mockito/compare/1e977a7..fcd6b28): fcd6b28 2022-05-16 srawlins Release mockito 5.2.0 2faf8f1 2022-05-16 srawlins Import dart-lang/mockito#533 0f8ed0c 2022-04-19 Devon Carew Populate the pubspec 'repository' field. d399ca8 2022-05-13 fzyzcjy Fix compile errors in Flutter 3.0 948973e 2022-04-06 Samuel Rawlins clarify docs for unsupportedMembers. b86c24d 2022-03-14 srawlins Support `@GenerateMocks` annotations on `import` and `export` directives. c6971dd 2022-03-05 srawlins Fix generation of methods with return type of `FutureOr<T>`. pub_semver (https://github.com/dart-lang/pub_semver/compare/ea6c540..5c0b4bf): 5c0b4bf 2022-03-07 Devon Carew Update README.md (#65) test_descriptor (https://github.com/dart-lang/test_descriptor/compare/ead23c1..5ed5d7f): 5ed5d7f 2022-05-24 Nate Bosch Move TestOn annotation to library level (#41) ecb2447 2022-05-03 Devon Carew populate the repository field (#40) 776a4c4 2022-03-02 dependabot[bot] Bump actions/checkout from 2 to 3 (#39) d8eb6bd 2021-10-04 Kevin Moore Migrate to pkg:lints, enable two disable lints (#38) stack_trace (https://github.com/dart-lang/stack_trace/compare/5220580..17f09c2): 17f09c2 2022-05-03 Devon Carew Merge pull request #117 from dart-lang/repository_field a6403d0 2022-05-03 Devon Carew switch to package:lints ae8b883 2022-05-03 Devon Carew add markdown badges eed6081 2022-05-03 Devon Carew populate the pubspec repository field 46f6ee1 2022-02-01 Nate Bosch Change a TODO to a permanent comment (#114) usage (https://github.com/dart-lang/usage/compare/e85d575..79eef48): 79eef48 2022-05-25 Devon Carew refactor the github action (#177) f296352 2022-05-02 dependabot[bot] Bump actions/checkout from 2 to 3 (#176) 8852f1a 2022-05-02 Devon Carew Update dependabot to watch github actions (#175) 2d5b693 2022-04-26 Devon Carew Update README.md (#174) 2b2f3f8 2022-04-20 Devon Carew Switch from homepage to repository in pubspec (#173) 9b90d7c 2022-04-14 Devon Carew Update dependabot.yaml (#172) watcher (https://github.com/dart-lang/watcher/compare/f76997a..e00c0ea): e00c0ea 2022-01-19 Danny Tuppeny Add/enable Windows tests (#124) Change-Id: I0d48d3a7831040a18c996120cd51898e24215512 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246725 Reviewed-by: Nate Bosch <nbosch@google.com> Commit-Queue: Devon Carew <devoncarew@google.com>
…_launcher, clock, crypto, csslib, dartdoc, html, http, http_multi_server, intl, package_config, pool, protobuf, pub_semver, source_map_stack_trace, source_maps, source_span, sse, stack_trace, stream_channel, term_glyph, test, test_descriptor, test_process, test_reflective_loader, watcher, web_socket_channel, yaml Revisions updated by `dart tools/rev_sdk_deps.dart`. bazel_worker (https://github.com/dart-lang/bazel_worker/compare/9f21e1d..b35c25e): b35c25e 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#66) benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/ee7a253..76881df): 76881df 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#80) boolean_selector (https://github.com/dart-lang/boolean_selector/compare/5082b3d..ba7d86b): ba7d86b 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#41) browser_launcher (https://github.com/dart-lang/browser_launcher/compare/2712dda..f2f01e4): f2f01e4 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#37) clock (https://github.com/dart-lang/clock/compare/8a8231f..6b8b7bf): 6b8b7bf 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#41) crypto (https://github.com/dart-lang/crypto/compare/bf0c33b..f854f2f): f854f2f 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#138) csslib (https://github.com/dart-lang/csslib/compare/34203c0..d776535): d776535 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#156) dartdoc (https://github.com/dart-lang/dartdoc/compare/ce25524..9ed196f): 9ed196f1 2023-01-03 Sam Rawlins Move many test files to test_reflective_loader (#3284) html (https://github.com/dart-lang/html/compare/28fb8b9..3dd00b0): 3dd00b0 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#193) http (https://github.com/dart-lang/http/compare/38d5dd9..d434d42): d434d42 2023-01-03 Brian Quinlan Make it possible to use a custom CronetEngine with runWithClient (#843) http_multi_server (https://github.com/dart-lang/http_multi_server/compare/e31c698..beb40a7): beb40a7 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#47) intl (https://github.com/dart-lang/intl/compare/59e7bff..c61fdd1): c61fdd1 2023-01-04 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#528) 2a5e3a2 2023-01-04 Copybara-Service Merge pull request #527 from mateendev3:patch-2 07a5847 2022-12-31 Mateen Mehmood Update date_format.dart package_config (https://github.com/dart-lang/package_config/compare/abb4aec..2e1a8ec): 2e1a8ec 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#128) pool (https://github.com/dart-lang/pool/compare/1ea5b03..713e631): 713e631 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#59) protobuf (https://github.com/dart-lang/protobuf/compare/1d1c92a..dd04535): dd04535 2023-01-04 Mahdi K. Fard Fix avoid_renaming_method_parameters linter warning. (#783) 4b1fc34 2023-01-04 Mahdi K. Fard Removes a non-existing lint rule. (#784) pub_semver (https://github.com/dart-lang/pub_semver/compare/1723111..3946e33): 3946e33 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#76) source_map_stack_trace (https://github.com/dart-lang/source_map_stack_trace/compare/8d8078f..e5f9564): e5f9564 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#31) source_maps (https://github.com/dart-lang/source_maps/compare/b031e2c..d995912): d995912 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#70) source_span (https://github.com/dart-lang/source_span/compare/d1d47e5..72d5c55): 72d5c55 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#89) sse (https://github.com/dart-lang/sse/compare/2de27fe..3c37edb): 3c37edb 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#73) stack_trace (https://github.com/dart-lang/stack_trace/compare/cf3562e..c08ee90): c08ee90 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#125) stream_channel (https://github.com/dart-lang/stream_channel/compare/9143047..0a7800a): 0a7800a 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#83) term_glyph (https://github.com/dart-lang/term_glyph/compare/822cd5b..2bf4594): 2bf4594 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#30) test (https://github.com/dart-lang/test/compare/8235a25..3415089): 34150897 2023-01-03 dependabot[bot] Bump ossf/scorecard-action from 2.0.6 to 2.1.2 (#1838) 5f01dd97 2023-01-03 dependabot[bot] Bump github/codeql-action from 1.0.26 to 2.1.37 (#1839) test_descriptor (https://github.com/dart-lang/test_descriptor/compare/13dbc20..b73c691): b73c691 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#46) test_process (https://github.com/dart-lang/test_process/compare/1774aa7..62ea2ba): 62ea2ba 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#37) test_reflective_loader (https://github.com/dart-lang/test_reflective_loader/compare/52b6753..cf58259): cf58259 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#43) watcher (https://github.com/dart-lang/watcher/compare/3259107..2e0db71): 2e0db71 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#132) web_socket_channel (https://github.com/dart-lang/web_socket_channel/compare/a90e740..ebd0fe9): ebd0fe9 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#244) yaml (https://github.com/dart-lang/yaml/compare/f699275..02be51e): 02be51e 2023-01-03 dependabot[bot] Bump actions/checkout from 3.1.0 to 3.2.0 (#133) Change-Id: I56af76e89a75b0712b290ea154f606781183bec7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278368 Auto-Submit: Devon Carew <devoncarew@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
…ctor, browser_launcher, characters, clock, collection, convert, crypto, csslib, dartdoc, fixnum, glob, html, http, http_multi_server, http_parser, json_rpc_2, logging, matcher, mime, package_config, path, pool, pub_semver, source_maps, source_span, sse, stack_trace, stream_channel, term_glyph, test, test_descriptor, test_process, tools, usage, watcher, web_socket_channel, webdev, yaml, yaml_edit Revisions updated by `dart tools/rev_sdk_deps.dart`. args (https://github.com/dart-lang/args/compare/7a5e3b0..5ac2ba1): 5ac2ba1 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#238) f77b1dc 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#239) async (https://github.com/dart-lang/async/compare/f454380..0127813): 0127813 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#236) 100445b 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#237) bazel_worker (https://github.com/dart-lang/bazel_worker/compare/53871c5..d5f8837): d5f8837 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#70) a8a55e6 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#71) benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/725534a..e591ec4): e591ec4 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#86) 38bf5b8 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#87) boolean_selector (https://github.com/dart-lang/boolean_selector/compare/16e6ad3..28dc03d): 28dc03d 2023-04-04 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#45) browser_launcher (https://github.com/dart-lang/browser_launcher/compare/bc2dc4e..ba4e028): ba4e028 2023-04-04 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#41) characters (https://github.com/dart-lang/characters/compare/3281cc7..ba8d557): ba8d557 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#79) 60cae68 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#80) clock (https://github.com/dart-lang/clock/compare/984642e..93d9f56): 93d9f56 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#48) collection (https://github.com/dart-lang/collection/compare/30fd0f8..9db854d): 9db854d 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#278) convert (https://github.com/dart-lang/convert/compare/83886e3..8812e40): 8812e40 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#79) d28dc33 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#80) crypto (https://github.com/dart-lang/crypto/compare/9efb888..8a03816): 8a03816 2023-04-04 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#143) csslib (https://github.com/dart-lang/csslib/compare/d32bdd4..5836863): 5836863 2023-04-04 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#177) dartdoc (https://github.com/dart-lang/dartdoc/compare/9be04e0..1a7952b): 1a7952b1 2023-04-03 dependabot[bot] Bump ossf/scorecard-action from 2.1.2 to 2.1.3 (#3382) fixnum (https://github.com/dart-lang/fixnum/compare/f8379d9..92ec336): 92ec336 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#108) f14fd19 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#109) glob (https://github.com/dart-lang/glob/compare/f378dc8..eaa878b): eaa878b 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#73) c0c7e66 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#74) html (https://github.com/dart-lang/html/compare/08643e9..57b747d): 57b747d 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#209) 51c9910 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#210) http (https://github.com/dart-lang/http/compare/74f9d3d..ffb4438): ffb4438 2023-04-04 Brian Quinlan Fix maxRedirects documentation to mention ClientException rather than RedirectException (#907) ad0e1cf 2023-04-03 Bahaa Fathi Yousef Fix some spelling (#885) http_multi_server (https://github.com/dart-lang/http_multi_server/compare/7bd190c..e0b5d35): e0b5d35 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#53) 3bbaf22 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#52) http_parser (https://github.com/dart-lang/http_parser/compare/b3b283b..bbe37dd): bbe37dd 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#70) f0527a8 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#71) json_rpc_2 (https://github.com/dart-lang/json_rpc_2/compare/aea3bea..5da2705): 5da2705 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#94) d6ab373 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#95) logging (https://github.com/dart-lang/logging/compare/abef371..787030a): 787030a 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#133) be6a20e 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#134) matcher (https://github.com/dart-lang/matcher/compare/61f4347..cb6b68c): cb6b68c 2023-04-04 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#216) mime (https://github.com/dart-lang/mime/compare/1a51be0..2d8496d): 2d8496d 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#90) 3b39378 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#91) package_config (https://github.com/dart-lang/package_config/compare/74ac1cb..7e09db1): 7e09db1 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#132) 6dc4072 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#133) path (https://github.com/dart-lang/path/compare/cd37179..23e3319): 23e3319 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#140) pool (https://github.com/dart-lang/pool/compare/338bfb4..650e5d3): 650e5d3 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#66) pub_semver (https://github.com/dart-lang/pub_semver/compare/c0e6ea7..860e3d8): 860e3d8 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#82) 12eca92 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#83) source_maps (https://github.com/dart-lang/source_maps/compare/a112e98..0a4b030): 0a4b030 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#76) e753fea 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#75) source_span (https://github.com/dart-lang/source_span/compare/3951ba5..b739fbf): b739fbf 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#94) c6547c2 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#95) sse (https://github.com/dart-lang/sse/compare/8c3efdc..11e83a0): 11e83a0 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#79) stack_trace (https://github.com/dart-lang/stack_trace/compare/6ceb191..9c1b1c5): 9c1b1c5 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#128) 56a09db 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#129) stream_channel (https://github.com/dart-lang/stream_channel/compare/fe0f5e4..74646ea): 74646ea 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#88) term_glyph (https://github.com/dart-lang/term_glyph/compare/d275a8f..f6856e2): f6856e2 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#36) test (https://github.com/dart-lang/test/compare/a01b185..8ea4298): 8ea42987 2023-04-04 Jakub Vrána Make tests compatible with Strict CSP (#1987) 49f7e17a 2023-04-03 dependabot[bot] Bump ossf/scorecard-action from 2.1.2 to 2.1.3 (#1982) 1a4f76b2 2023-04-03 dependabot[bot] Bump github/codeql-action from 2.2.5 to 2.2.9 (#1985) test_descriptor (https://github.com/dart-lang/test_descriptor/compare/1d4a967..aa11162): aa11162 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#49) 226fe86 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#50) test_process (https://github.com/dart-lang/test_process/compare/f76d0b8..946bc27): 946bc27 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#40) 441f585 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#41) tools (https://github.com/dart-lang/tools/compare/d40ca93..0304fbb): 0304fbb 2023-04-04 Elias Yishak Add catcherror callback for `sendData` (#72) 6d1dedf 2023-04-04 Daco Harkes [cli_config] Pub badges (#71) 561dce2 2023-04-04 Daco Harkes [cli_config] Bump version (#68) d3909a4 2023-04-04 Daco Harkes Fix windows path resolving (#67) 77cf078 2023-04-03 Daco Harkes [cli_config] Fix optionalString validValues (#69) usage (https://github.com/dart-lang/usage/compare/399770f..0698711): 0698711 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#190) 2cdb5e3 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#189) watcher (https://github.com/dart-lang/watcher/compare/5968409..00aa79b): 00aa79b 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#140) 598038f 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#141) web_socket_channel (https://github.com/dart-lang/web_socket_channel/compare/e2fe7f6..40eb236): 40eb236 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#260) 1823444 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#261) webdev (https://github.com/dart-lang/webdev/compare/b139649..e887316): e887316c 2023-04-03 Elliott Brooks Prepare DWDS for version `19.0.0` release (#2068) 704d5086 2023-04-03 Elliott Brooks Fix typo (#2069) 2e6e1b63 2023-04-03 Anna Gringauze Fix getObject failure on record class. (#2063) yaml (https://github.com/dart-lang/yaml/compare/0f80b12..56dfaf4): 56dfaf4 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#140) d925d7e 2023-04-03 dependabot[bot] Bump actions/checkout from 3.3.0 to 3.5.0 (#141) yaml_edit (https://github.com/dart-lang/yaml_edit/compare/fbc5cb3..386fd33): 386fd33 2023-04-03 dependabot[bot] Bump dart-lang/setup-dart from 1.4.0 to 1.5.0 (#49) Change-Id: I986c83f657631813a32e360fbb90f42f7d43440a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/293280 Auto-Submit: Devon Carew <devoncarew@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
…est_process, tools, webdev Revisions updated by `dart tools/rev_sdk_deps.dart`. convert (https://github.com/dart-lang/convert/compare/b652c00..9a387f0): 9a387f0 2023-05-16 Devon Carew blast_repo fixes (#83) dartdoc (https://github.com/dart-lang/dartdoc/compare/2952f6b..702f3ff): 702f3ff7 2023-05-16 Devon Carew Update dependabot.yaml (#3415) http (https://github.com/dart-lang/http/compare/981b63b..fb3b4be): fb3b4be 2023-05-16 Brian Quinlan Revert "Support the NSURLSession WebSocket API (#921)" (#931) mockito (https://github.com/dart-lang/mockito/compare/51a7728..3fadd2d): 3fadd2d 2023-05-17 Ilya Yanok Let users provide dummy values for types b14d571 2023-05-15 Googler Fix for InvalidType native (https://github.com/dart-lang/native/compare/e01aa63..3d89166): 3d89166 2023-05-16 Daco Harkes Add iOS x64 back (#41) protobuf (https://github.com/dart-lang/protobuf/compare/05058a7..038872b): 038872b 2023-05-16 Oleh Prypin Remove implementation of `hashCode` because it makes enum values non-const in Dart 3 (#831) test (https://github.com/dart-lang/test/compare/8e444df..cdedf40): cdedf40c 2023-05-16 Nate Bosch Prepare to publish (#2016) test_process (https://github.com/dart-lang/test_process/compare/b6a6cd5..d7a1711): d7a1711 2023-05-16 Nate Bosch Prepare to publish (#44) tools (https://github.com/dart-lang/tools/compare/62c9604..49da4ca): 49da4ca 2023-05-12 Polina Cherkasova Add memory events. (#92) webdev (https://github.com/dart-lang/webdev/compare/60616ba..2b2ae0e): 2b2ae0e8 2023-05-15 Elliott Brooks Try to fix dependabot PRs (#2112) d19dafe0 2023-05-15 Elliott Brooks Manual update deps (#2113) c0eb1069 2023-05-15 Elliott Brooks Disable tests using webdriver (#2115) a16bc9f2 2023-05-15 Elliott Brooks Dart Debug Extension builder fix (#2117) Change-Id: Icd714c5d54cd3aee999e4ae3cc3a97928dc1a821 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/304120 Commit-Queue: Devon Carew <devoncarew@google.com> Auto-Submit: Devon Carew <devoncarew@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
…li_util, clock, convert, crypto, csslib, dartdoc, ecosystem, ffi, fixnum, http, lints, logging, markdown, matcher, mime, native, path, pool, shelf, source_map_stack_trace, sse, stack_trace, stream_channel, string_scanner, term_glyph, test, test_descriptor, test_process, tools, typed_data, watcher, yaml, yaml_edit Revisions updated by `dart tools/rev_sdk_deps.dart`. async (https://github.com/dart-lang/async/compare/b65622a..75efa6c): 75efa6c 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#250) bazel_worker (https://github.com/dart-lang/bazel_worker/compare/c29d162..f950bbf): f950bbf 2023-08-31 Parker Lougheed Regenerate worker protocol protos to add constructors and comments (#78) 9b4c6a0 2023-08-30 Parker Lougheed Update e2e_test dependencies (#79) boolean_selector (https://github.com/dart-lang/boolean_selector/compare/303635d..f255921): f255921 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#50) browser_launcher (https://github.com/dart-lang/browser_launcher/compare/27ec600..1f69393): 1f69393 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#48) cli_util (https://github.com/dart-lang/cli_util/compare/9b7ce78..44118e3): 44118e3 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#88) clock (https://github.com/dart-lang/clock/compare/263e508..1e75f08): 1e75f08 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#55) convert (https://github.com/dart-lang/convert/compare/79ee174..c058c8f): c058c8f 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#86) crypto (https://github.com/dart-lang/crypto/compare/8b704c6..1e26879): 1e26879 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#151) csslib (https://github.com/dart-lang/csslib/compare/7e91228..bd30a1a): bd30a1a 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#188) dartdoc (https://github.com/dart-lang/dartdoc/compare/5fda5eb..695b218): 695b218c 2023-08-30 Sam Rawlins Tidy Category: (#3488) b26af96f 2023-08-30 Sam Rawlins Tidy up library exports (#3487) be35cb00 2023-08-29 Devon Carew Update dependabot.yaml (#3486) 649bb8d2 2023-08-29 Sam Rawlins Migrate to create_api_docs.dart (#3482) ecosystem (https://github.com/dart-lang/ecosystem/compare/f777da7..89e58de): 89e58de 2023-09-01 Hossein Yousefi also install flutter on validate (#160) f95d0f2 2023-09-01 Hossein Yousefi Add use-flutter arg to validate (#159) 8743a9d 2023-09-01 Moritz Pass a parameter for Flutter `firehose` support (#158) 54d1628 2023-08-31 Moritz Setup Flutter in publish workflow (#157) 8fa89c6 2023-08-31 Moritz Add flutter support (#155) 65817bf 2023-08-29 Moritz Switch to Pub API (#152) ffi (https://github.com/dart-lang/ffi/compare/e2c01a9..d36e05a): d36e05a 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#208) fixnum (https://github.com/dart-lang/fixnum/compare/00fa120..87ed065): 87ed065 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#114) http (https://github.com/dart-lang/http/compare/cad7d60..7fb6fd6): 7fb6fd6 2023-08-31 Brian Quinlan Clarify how to set the body without a content type header (#1014) lints (https://github.com/dart-lang/lints/compare/54cd7a0..da44af3): da44af3 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#144) logging (https://github.com/dart-lang/logging/compare/5214987..bcaad0f): bcaad0f 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#147) markdown (https://github.com/dart-lang/markdown/compare/56e75df..6cfd6f1): 6cfd6f1 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#554) 52be591 2023-08-30 Parker Lougheed Fix a few more lints, no longer ignore line length (#552) matcher (https://github.com/dart-lang/matcher/compare/ce8f409..80910d6): 80910d6 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#227) mime (https://github.com/dart-lang/mime/compare/799b398..37ef637): 37ef637 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#104) native (https://github.com/dart-lang/native/compare/5a1361b..a2dfedc): a2dfedc 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#117) 8dfb0d2 2023-09-01 dependabot[bot] Bump nttld/setup-ndk from 1.2.0 to 1.3.1 (#118) path (https://github.com/dart-lang/path/compare/7c2324b..96d9183): 96d9183 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#150) pool (https://github.com/dart-lang/pool/compare/7700102..a5bee35): a5bee35 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#73) shelf (https://github.com/dart-lang/shelf/compare/73edd2b..2926f76): 2926f76 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#376) source_map_stack_trace (https://github.com/dart-lang/source_map_stack_trace/compare/16e54fd..196d7bf): 196d7bf 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#41) sse (https://github.com/dart-lang/sse/compare/8cc5b11..eeb2588): eeb2588 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#87) 2bb1a6e 2023-09-01 dependabot[bot] Bump nanasess/setup-chromedriver from 2.1.1 to 2.2.0 (#88) stack_trace (https://github.com/dart-lang/stack_trace/compare/4ddd86d..bcf2a0b): bcf2a0b 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#140) stream_channel (https://github.com/dart-lang/stream_channel/compare/e54234f..0ce7ab6): 0ce7ab6 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#94) string_scanner (https://github.com/dart-lang/string_scanner/compare/413b57a..da9142c): da9142c 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#62) term_glyph (https://github.com/dart-lang/term_glyph/compare/423700a..1b28285): 1b28285 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#41) test (https://github.com/dart-lang/test/compare/d0fc4bd..27dcae1): 27dcae11 2023-09-01 dependabot[bot] Bump github/codeql-action from 2.21.2 to 2.21.5 (#2086) cf0a0a73 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#2085) test_descriptor (https://github.com/dart-lang/test_descriptor/compare/36d8617..030193d): 030193d 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#55) test_process (https://github.com/dart-lang/test_process/compare/b360784..2a6ee23): 2a6ee23 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#47) tools (https://github.com/dart-lang/tools/compare/b72fae8..2c8cbd6): 2c8cbd6 2023-09-01 Jonas Finnemann Jensen Extension discovery 2.0.0 (#156) 3e12c2e 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#157) 0f28f80 2023-08-28 Kenzie Davisson Prepare extension_discovery for 1.0.1 release (#154) typed_data (https://github.com/dart-lang/typed_data/compare/a20be90..80e8943): 80e8943 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#72) watcher (https://github.com/dart-lang/watcher/compare/7457413..1aed03e): 1aed03e 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#149) yaml (https://github.com/dart-lang/yaml/compare/7930148..ae00187): ae00187 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#150) yaml_edit (https://github.com/dart-lang/yaml_edit/compare/87dcf31..4a9734d): 4a9734d 2023-09-01 dependabot[bot] Bump actions/checkout from 3.5.3 to 3.6.0 (#56) 83f9033 2023-07-01 dependabot[bot] Bump actions/checkout from 3.5.2 to 3.5.3 (#54) Change-Id: Ie6b9d9ef138730b98e9df8cbb31c6cc330ada9f8 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/323703 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Devon Carew <devoncarew@google.com>
…lob, http_multi_server, http_parser, json_rpc_2, mockito, native, package_config, pool, sync_http, usage, webkit_inspection_protocol Revisions updated by `dart tools/rev_sdk_deps.dart`. args (https://github.com/dart-lang/args/compare/df9b428..46d5033): 46d5033 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#258) 5f7c8b5 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#259) bazel_worker (https://github.com/dart-lang/bazel_worker/compare/b1b6a66..3d9cd58): 3d9cd58 2023-11-02 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#83) 1d7bed3 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#84) benchmark_harness (https://github.com/dart-lang/benchmark_harness/compare/59aea95..e59f675): e59f675 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#96) 1899e39 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#95) collection (https://github.com/dart-lang/collection/compare/d27bfaf..e8d7e92): e8d7e92 2023-11-02 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#318) 1f5c234 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#319) file (https://github.com/google/file.dart/compare/e7c03aa..cd3a932): cd3a932 2023-11-01 dependabot[bot] Bump actions/checkout from 3.6.0 to 4.1.1 (#232) glob (https://github.com/dart-lang/glob/compare/0046533..7c9a121): 7c9a121 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#86) 713142b 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#85) http_multi_server (https://github.com/dart-lang/http_multi_server/compare/03041aa..2238a6b): 2238a6b 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#60) http_parser (https://github.com/dart-lang/http_parser/compare/c557f57..1cf5b7c): 1cf5b7c 2023-11-02 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#80) cb6f142 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#81) json_rpc_2 (https://github.com/dart-lang/json_rpc_2/compare/0521afb..460545c): 460545c 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#105) 189b1a8 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#106) mockito (https://github.com/dart-lang/mockito/compare/b7d752e..fcb9779): fcb9779 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#713) 1c4a6ff 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#712) native (https://github.com/dart-lang/native/compare/de9d59e..c72ed16): c72ed16 2023-11-01 Daco Harkes [native_toolchain_c] Bump version to 0.3.2 (#184) 4c9a50f 2023-11-01 Daco Harkes [native_toolchain_c] Add workaround for minSdkVersion 19 and 20 (#181) 45b5e6c 2023-11-01 Daco Harkes [infra] Bump NDK version (#183) package_config (https://github.com/dart-lang/package_config/compare/100533d..33dd246): 33dd246 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#144) 30c8f25 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#143) pool (https://github.com/dart-lang/pool/compare/c78cef4..3c1bd42): 3c1bd42 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#77) sync_http (https://github.com/dart-lang/sync_http/compare/8233f74..d8e9f3d): d8e9f3d 2023-11-01 dependabot[bot] Bump actions/checkout from 3.6.0 to 4.1.1 (#40) c59b6d4 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.0 to 1.6.0 (#41) usage (https://github.com/dart-lang/usage/compare/d7d2964..e99690a): e99690a 2023-11-02 dependabot[bot] Bump dart-lang/setup-dart from 1.5.1 to 1.6.0 (#201) a540a6d 2023-11-01 dependabot[bot] Bump actions/checkout from 4.1.0 to 4.1.1 (#200) webkit_inspection_protocol (https://github.com/google/webkit_inspection_protocol.dart/compare/2c6f8b6..667c55e): 667c55e 2023-11-01 dependabot[bot] Bump dart-lang/setup-dart from 1.5.0 to 1.6.0 (#113) Change-Id: Ie6f2f0df0060cd77b9d56dc40172c134605417e7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/333680 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Auto-Submit: Devon Carew <devoncarew@google.com>
This issue was originally filed by todd.chamb...@gmail.com
I didn't find the "safe navigation"/existential operator in the specification. Please consider including something like what's available in
Coffeescript (http://jashkenas.github.com/coffee-script/#operators),
zip = lottery.drawWinner?().address?.zipcode
compiles to
var zip, _ref;
zip = typeof lottery.drawWinner === "function" ? (_ref = lottery.drawWinner().address) != null ? _ref.zipcode : void 0 : void 0;
Groovy (http://groovy.codehaus.org/Operators#Operators-SafeNavigationOperator%28%3F.%29)
The Safe Navigation operator is used to avoid a NullPointerException. Typically when you have a reference to an object you might need to verify that it is not null before accessing methods or properties of the object. To avoid this, the safe navigation operator will simply return null instead of throwing an exception, like so:
def user = User.find( "admin" ) //this might be null if 'admin' does not exist
def streetName = user?.address?.street //streetName will be null if user or user.address is null - no NPE thrown
Ruby, etc.
Null checks are tedious and clutter code-- really, anything is better than if( foo != null && ....)
The text was updated successfully, but these errors were encountered: