Skip to content

☂️ Prepare for Dart 3 #118837

Closed
Closed

Description

@goderbauer

Activity

  1. self-assigned this
    on Jan 19, 2023
  2. added
    frameworkflutter/packages/flutter repository. See also f: labels.
    c: tech-debtTechnical debt, code quality, testing, etc.
    P1High-priority issues at the top of the work list
    engineflutter/engine related. See also e: labels.
    on Jan 19, 2023
  3. changed the title [-]☂️ Dart 3 framework changes[/-] [+]☂️ Prepare for Dart 3[/+] on Jan 26, 2023
  4. goderbauer commented on Jan 26, 2023

    @goderbauer
    MemberAuthor

    Belated null safety dividend: Thanks to Dart 3 removing support for unsafe code we were just able to remove almost 5,000 lines of now unnecessary null comparisons from the flutter/flutter and flutter/engine code base. Pretty nice clean-up (see PRs linked to this issue above).

  5. goderbauer commented on Jan 26, 2023

    @goderbauer
    MemberAuthor

    cc @mit-mit Let me know if anything else Dart 3 related comes to mind that we should prepare for in Flutter.

  6. mit-mit commented on Jan 27, 2023

    @mit-mit
    Member

    The only thing I can think of are the CLI messages, but that's already tracked in #115803

  7. goderbauer commented on Feb 10, 2023

    @goderbauer
    MemberAuthor

    Top-level comment updated with some work that needs to happen for class modifiers.

  8. goderbauer commented on Mar 13, 2023

    @goderbauer
    MemberAuthor

    Flag flips for the Dart 3 features happened upstream in the Dart SDK with these CLs:

    They are part of 3.0.0-325.0.dev. Once that has rolled into Flutter, I'll prepare PRs to bump our Dart SDK lower constraint to 3.0 to enable these features.

  9. goderbauer commented on Mar 15, 2023

    @goderbauer
    MemberAuthor

    Web engine breaks when bumping it to Dart 3.0, details in #122724. For now, I am excluding the web from the version bump to unblock framework. Not sure yet who can help with debugging this.

  10. goderbauer commented on Mar 17, 2023

    @goderbauer
    MemberAuthor

    Web compiler bug is fixed. Dart 3.0 is fully enabled for the engine repository now and some class modifiers have been applied to the engine code base to prove that the new feature can be used (flutter-team-archive/engine#40328).

    The work to upgrade the flutter/flutter repository to 3.0 is currently blocked on waiting for dart-lang/sdk@7cc2553 to roll in.

    cc @jakemac53 @itsjustkevin

  11. goderbauer commented on Mar 17, 2023

    @goderbauer
    MemberAuthor

    dart-lang/sdk@7cc2553 is tagged with 3.0.0-345.0.dev. Once that version (or something newer) has rolled into Flutter, work can continue here.

  12. added
    toolAffects the "flutter" command-line tool. See also t: labels.
    on Mar 20, 2023
  13. goderbauer commented on Mar 20, 2023

    @goderbauer
    MemberAuthor

    While bumping the framework to 3.0, an issue related to const constructors surfaced: dart-lang/sdk#51800

  14. goderbauer commented on Mar 21, 2023

    @goderbauer
    MemberAuthor

    And another web compiler issue: dart-lang/sdk#51802

  15. added a commit that references this issue on Mar 22, 2023
  16. goderbauer commented on Mar 22, 2023

    @goderbauer
    MemberAuthor

    Tracking issue to clean up the work arounds we had to apply: dart-lang/sdk#51813

  17. goderbauer commented on Mar 22, 2023

    @goderbauer
    MemberAuthor

    The flutter/flutter repository is now also fully Dart 3 enabled. There are a few follow-ups (see checklist in first post and dart-lang/sdk#51813), but the majority of the work is done here.

    Of the remaining work, getting dart-lang/sdk#51823 resolved is probably the most critical, so we can remove the work around for it and avoid future surprises.

  18. github-actions commented on Apr 27, 2023

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  19. locked as resolved and limited conversation to collaborators on Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listc: tech-debtTechnical debt, code quality, testing, etc.engineflutter/engine related. See also e: labels.frameworkflutter/packages/flutter repository. See also f: labels.toolAffects the "flutter" command-line tool. See also t: labels.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions