Skip to content
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

prefer_collection_literals doesn't know about the new typedefs #2795

Closed
Hixie opened this issue Jul 23, 2021 · 0 comments
Closed

prefer_collection_literals doesn't know about the new typedefs #2795

Hixie opened this issue Jul 23, 2021 · 0 comments
Assignees
Labels
false-negative new-language-feature P2 A bug or feature request we're likely to work on set-recommended Affects a rule in the recommended Dart rule set

Comments

@Hixie
Copy link

Hixie commented Jul 23, 2021

typedef Foo = Map<Map<List<Map<List<int>, List<int>>>, int>, int>;

void main() {
  Foo(); // "Use collection literals when possible"
}
@pq pq added set-recommended Affects a rule in the recommended Dart rule set false-negative labels Jul 28, 2021
@pq pq added the P2 A bug or feature request we're likely to work on label Nov 14, 2022
@srawlins srawlins self-assigned this Aug 31, 2023
copybara-service bot pushed a commit to dart-lang/sdk that referenced this issue Sep 1, 2023
There is a basic premise in this rule which we cannot satisfy exactly:
we need to disallow `LinkedHashSet()` unless the context type requires
the developer to use `LinkedHashSet`. But the context type is long
gone when the lint rule is run.

This CL adds some logic to try to attempt figuring out the context
type in the cases where users have filed bugs, but it will never be
super accurate.

Fixes dart-lang/linter#4736
Fixes dart-lang/linter#3057
Fixes dart-lang/linter#1649
Fixes dart-lang/linter#2795

Change-Id: I3e6c6de81084dca2825488c89830ab3e7ea63186
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/323680
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
copybara-service bot pushed a commit to dart-lang/sdk that referenced this issue Sep 4, 2023
…pe more"

This reverts commit cd8a337.

Reason for revert: lint starts barking at the wrong tree: b/298917960

Original change's description:
> linter: Refactor prefer_collection_literals to use context type more
>
> There is a basic premise in this rule which we cannot satisfy exactly:
> we need to disallow `LinkedHashSet()` unless the context type requires
> the developer to use `LinkedHashSet`. But the context type is long
> gone when the lint rule is run.
>
> This CL adds some logic to try to attempt figuring out the context
> type in the cases where users have filed bugs, but it will never be
> super accurate.
>
> Fixes dart-lang/linter#4736
> Fixes dart-lang/linter#3057
> Fixes dart-lang/linter#1649
> Fixes dart-lang/linter#2795
>
> Change-Id: I3e6c6de81084dca2825488c89830ab3e7ea63186
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/323680
> Reviewed-by: Phil Quitslund <pquitslund@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Commit-Queue: Samuel Rawlins <srawlins@google.com>

Change-Id: I980053dd51ffd4447721e0ad7436b07ca704b554
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/324021
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ilya Yanok <yanok@google.com>
copybara-service bot pushed a commit to dart-lang/sdk that referenced this issue Sep 5, 2023
…ntext type more""

This reverts commit cbdae14.

In addition, Fix prefer_collection_literals for methods with expression bodies

Original description:

linter: Refactor prefer_collection_literals to use context type more

There is a basic premise in this rule which we cannot satisfy exactly:
we need to disallow `LinkedHashSet()` unless the context type requires
the developer to use `LinkedHashSet`. But the context type is long
gone when the lint rule is run.

This CL adds some logic to try to attempt figuring out the context
type in the cases where users have filed bugs, but it will never be
super accurate.

Fixes dart-lang/linter#4736
Fixes dart-lang/linter#3057
Fixes dart-lang/linter#1649
Fixes dart-lang/linter#2795

Change-Id: I958ba69a56866c18523ce6cbf62645ef8e028f6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/324260
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
false-negative new-language-feature P2 A bug or feature request we're likely to work on set-recommended Affects a rule in the recommended Dart rule set
Projects
None yet
Development

No branches or pull requests

3 participants