sdk icon indicating copy to clipboard operation
sdk copied to clipboard

[meta] Make Dart repos sound null safe

Open devoncarew opened this issue 2 years ago • 2 comments

This is a meta issue used to track the progress on making various Dart repos sound null safe. This must happen prior to null safety becoming the only supported mode.

Published packages

  • [x] https://github.com/dart-lang/dart-syntax-highlight/issues/25
  • [x] https://github.com/dart-lang/dump-info-visualizer/issues/37
  • [x] https://github.com/dart-lang/build/issues/3315
  • [x] https://github.com/dart-lang/build/issues/3316
  • [x] https://github.com/dart-lang/gcloud/issues/138
  • [x] https://github.com/dart-lang/language/issues/2274
  • [x] https://github.com/dart-lang/linter/issues/3442
  • [x] https://github.com/dart-lang/sdk/issues/49176
  • [x] https://github.com/dart-lang/sdk/issues/49177
  • [x] https://github.com/dart-lang/shelf/issues/238
  • [x] https://github.com/dart-lang/source_gen/issues/605
  • [x] https://github.com/dart-lang/stream_transform/issues/150
  • [x] https://github.com/dart-lang/test/issues/1707
  • [x] https://github.com/dart-lang/webdev/issues/1327
  • [x] https://github.com/dart-lang/webdev/issues/1637
  • [x] https://github.com/google/built_collection.dart/issues/261
  • [x] https://github.com/google/mono_repo.dart/issues/393
  • [x] https://github.com/google/protobuf.dart/issues/672
  • [x] https://github.com/dart-lang/sdk/issues/49184
  • [ ] https://github.com/dart-lang/intl_translation/issues/165
  • [ ] https://github.com/dart-lang/webdev/issues/1640

Non-published SDK packages

  • [x] #49213
  • [x] #49214
  • [x] https://github.com/dart-lang/sdk/issues/46617
  • [ ] https://github.com/dart-lang/sdk/issues/49212
  • [ ] https://github.com/dart-lang/sdk/issues/50008

Info

Packages listed here should either be converted to null safety (indicated by having a lower SDK bounds of 2.12), and make sure that no files are excluded from null safety (no files have a language comment of // @dart=2.7, // @dart=2.8, // @dart=2.9, // @dart=2.10, or // @dart=2.11).

Note that we're only trying to find unintentional file opt-outs above - null safety conversions that weren't quite finished.

If the opt-out is intentional - there in order to test the opt-out handling and / or pre-null safe behavior - please update / edit / close the issue as appropriate. Additionally, consider adding a token on the line before the opt-out - // null_safety_optout_testing. This will allow tools to ignore the opt-out when looking for unmigrated files, and, allow us to find and remove all null safe testing opt-outs at a later date. For cases like these, the full opt-out may then look something like:

// null_safety_optout_testing
// @dart=2.10

devoncarew avatar Jun 03 '22 03:06 devoncarew

Some of these are intentional. We run tests which are not null safe in some packages to validate some specific unsound mode behavior. A bunch are in files that are named with a suffix of _opt_out_test.dart. Should we try to find a convention for this and exclude it from the search?

natebosch avatar Jun 03 '22 19:06 natebosch

This was likely a one-shot search. If we need to update the grep logic to be more accurate, we certainly can. But it may be enough to just update the individual issues - reduce the hits found or close the issue entirely.

devoncarew avatar Jun 03 '22 19:06 devoncarew

All done 🥳

mit-mit avatar Mar 06 '23 16:03 mit-mit