Skip to content

Disallow part of dotted.name;. #2358

@lrhn

Description

@lrhn

We introduced the part of "librarypath.dart"; part-of syntax because it allows tools to go from a part file to the containing library file without needing to guess the context of compilation. It was an alternative to, and improvement on, the existing part of name.of.library; syntax.

And we also did it because we have moved away from requiring libraries to have names, and needing to add a name to a library, just to let it have a part declaration, seemed unnecessary. (Like library names in general.)

I suggest that we remove the old syntax entirely for Dart 3.0.

There is no lint for this, but it's in the style guide. There might still be uses in the wild. It should be an easy migration to implement for dartfix.

The internal dart: platform libraries are heavy users of part files and does not work if you write part of "dart:async"; (at least didn't at some point in the past, where we tried migration away from the name-based syntax). We should fix that too.

(Preferably also fix #1073, so users can completely stop using unnecessary library names).

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureProposed language feature that solves one or more problems

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions