Update package:collection for the new strict_top_level_inference lint#735
Conversation
PR Health
Breaking changes
|
| Package | Change | Current Version | New Version | Needed Version | Looking good? |
|---|---|---|---|---|---|
| collection | Breaking | 1.19.1 | 1.20.0-wip | 2.0.0 Got "1.20.0-wip" expected >= "2.0.0" (breaking changes) |
This check can be disabled by tagging the PR with skip-breaking-check.
Changelog Entry ✔️
| Package | Changed Files |
|---|
Changes to files need to be accounted for in their respective changelogs.
Coverage ⚠️
| File | Coverage |
|---|---|
| pkgs/collection/lib/src/unmodifiable_wrappers.dart | 💔 75 % ⬇️ 3 % |
This check for test coverage is informational (issues shown here will not fail the PR).
This check can be disabled by tagging the PR with skip-coverage-check.
API leaks ✔️
The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.
| Package | Leaked API symbols |
|---|
License Headers ✔️
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
| Files |
|---|
| no missing headers |
All source files should start with a license header.
|
From the new That's from https://github.com/dart-lang/core/blob/main/pkgs/collection/lib/src/unmodifiable_wrappers.dart#L199: /// Throws an [UnsupportedError];
/// operations that change the map are disallowed.
set first(_) => _throw();
/// Throws an [UnsupportedError];
/// operations that change the map are disallowed.
set last(_) => _throw();Here, I don't know what purpose The next set of issues: are from https://github.com/dart-lang/core/blob/main/pkgs/collection/test/extensions_test.dart#L2228: Never unreachable([_, __, ___]) => fail('Unreachable');Perhaps we should not include wildcard variables in the lint? cc @lrhn, @natebosch, @srawlins |
|
The setters should just be removed from the Other than that, we could exclude wildcards, but since the lint should only trigger if you don't inherit a type, I think the method should actually be explicit about its types. Or, more relevantly, since it's in the |
|
|
||
| /// Throws an [UnsupportedError]; | ||
| /// operations that change the map are disallowed. | ||
| set first(_) => _throw(); |
There was a problem hiding this comment.
Technically this is breaking (statically) to remove these?
We might want to just deprecate them 🤷♂️ . But should at least verify we don't know of any usages (I would expect none though since nobody really uses this type directly in APIs).
There was a problem hiding this comment.
I'm happy to deprecate first and check for any real usage asynchronously.
There was a problem hiding this comment.
If we do a proper 3.0 release soon-ish, they can go away there.
strict_top_level_inference lint
|
|
||
| /// Throws an [UnsupportedError]; | ||
| /// operations that change the map are disallowed. | ||
| set first(_) => _throw(); |
There was a problem hiding this comment.
If we do a proper 3.0 release soon-ish, they can go away there.
Note that this package is pinned by flutter so this is probably never going to be justified.... it will cause a very large amount of ecosystem churn and pain. Unless of course flutter stops pinning packages :) |
Revisions updated by `dart tools/rev_sdk_deps.dart`. core (https://github.com/dart-lang/core/compare/7a71ad6..72a2060): 72a20603 2025-01-17 Nate Bosch Remove sorting of allowedHelp maps (dart-lang/core#852) a59cbeaf 2025-01-13 Kevin Moore [os_detect] move to pkg:web, prepare publish (dart-lang/core#850) 48c3c458 2025-01-13 Kevin Moore [path] fix tests to compile/run with wasm (dart-lang/core#851) 2ac228bd 2025-01-09 Devon Carew update lint issue templates (dart-lang/core#849) 513fa2f0 2025-01-08 Devon Carew fix a line break issue in the package table (dart-lang/core#846) eb74f032 2025-01-06 Devon Carew Update package:collection for the new `strict_top_level_inference` lint (dart-lang/core#735) ecosystem (https://github.com/dart-lang/ecosystem/compare/efe4ee4..682c8ef): 682c8ef 2025-01-17 Moritz Update `dart_apitool` version in health workflow. (dart-lang/ecosystem#338) 94b4cea 2025-01-14 Kevin Moore [puppy] actually rename command to `run`, sort directories, better logs (dart-lang/ecosystem#337) f2d3178 2025-01-10 Devon Carew rename the 'map' command to 'run' (dart-lang/ecosystem#336) 25c57b8 2025-01-10 Kevin Moore [puppy] Introduce a package for misc Dart CLI tools (dart-lang/ecosystem#335) 21e81c5 2025-01-08 Kevin Moore [corpus] update to latest analyzer, bump min SDK (dart-lang/ecosystem#334) http (https://github.com/dart-lang/http/compare/6ecd13a..27184eb): 27184eb 2025-01-21 Brian Quinlan Remove bespoke code that handled blocking callbacks (dart-lang/http#1450) 7271367 2025-01-20 Kevin Moore [http] prepare v1.3.0 release (dart-lang/http#1451) 7f50fc5 2025-01-15 Brian Quinlan Prepare cupertino_http 2.0.2 for release (dart-lang/http#1449) 2bc4cc9 2025-01-15 Brian Quinlan Fix incorrect response processing (dart-lang/http#1448) 531d3e5 2025-01-09 Kevin Moore [http2, conformance_tests] update dependencies (dart-lang/http#1443) f0bcf02 2025-01-06 Brian Quinlan Add tests to verify NUL, CR & LF header value behavior (dart-lang/http#1440) test (https://github.com/dart-lang/test/compare/f364fc8..7fc9521): 7fc95218 2025-01-17 Nate Bosch Drop reference to legacy communication protocol (dart-lang/test#2446) 073ef8bd 2025-01-17 Matan Lurey Fix a type error that occurs comparing two large maps with `deepEquals`. (dart-lang/test#2442) b5bfba54 2025-01-17 Nate Bosch Unblock CI: Ignore deprecation and skip a test (dart-lang/test#2445) web (https://github.com/dart-lang/web/compare/af5de5e..fd3d988): fd3d988 2025-01-14 KennethHung Adapt paths for different development environments (dart-lang/web#336) 7f440e4 2025-01-10 KennethHung Remove renames where the type doesn't exist anymore (dart-lang/web#334) 3b06da9 2025-01-09 KennethHung Add missing FileReader event getters (dart-lang/web#333) webdev (https://github.com/dart-lang/webdev/compare/e72f365..4a92ba5): 4a92ba58 2025-01-13 Ben Konyi [ DWDS ] Reset version to 24.3.3-wip (dart-lang/webdev#2569) cc5aff69 2025-01-10 Ben Konyi [ DWDS ] Relax DDS constraint, prepare for 24.3.2 release 562ab622 2025-01-10 Ben Konyi [ DWDS ] Reset version to 24.3.2-wip a7c8fe76 2025-01-10 Ben Konyi Allow for setting custom DDS port (dart-lang/webdev#2546) 7dc5c3a9 2025-01-09 Ben Konyi Rename copied SDK directory prefix from 'sdk copy' to 'sdk_copy' (dart-lang/webdev#2557) 659e1dfc 2025-01-08 Jessy Yameogo Added support for some debugging APIs with the DDC library bundle format - part 5 (dart-lang/webdev#2549) fcd906fc 2025-01-07 Srujan Gaddam Add ignores for deprecated web libraries with a TODO and move dwds to 24.4.0-wip (dart-lang/webdev#2559) Change-Id: I3e847d24146bfb6891e77098591b785a0d15a445 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/405243 Auto-Submit: Devon Carew <devoncarew@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This reverts commit a1e5451. Reason for revert: it looks like golem is broken Original change's description: > [deps] rev core, ecosystem, http, test, web, webdev > > Revisions updated by `dart tools/rev_sdk_deps.dart`. > > core (https://github.com/dart-lang/core/compare/7a71ad6..72a2060): > 72a20603 2025-01-17 Nate Bosch Remove sorting of allowedHelp maps (dart-lang/core#852) > a59cbeaf 2025-01-13 Kevin Moore [os_detect] move to pkg:web, prepare publish (dart-lang/core#850) > 48c3c458 2025-01-13 Kevin Moore [path] fix tests to compile/run with wasm (dart-lang/core#851) > 2ac228bd 2025-01-09 Devon Carew update lint issue templates (dart-lang/core#849) > 513fa2f0 2025-01-08 Devon Carew fix a line break issue in the package table (dart-lang/core#846) > eb74f032 2025-01-06 Devon Carew Update package:collection for the new `strict_top_level_inference` lint (dart-lang/core#735) > > ecosystem (https://github.com/dart-lang/ecosystem/compare/efe4ee4..682c8ef): > 682c8ef 2025-01-17 Moritz Update `dart_apitool` version in health workflow. (dart-lang/ecosystem#338) > 94b4cea 2025-01-14 Kevin Moore [puppy] actually rename command to `run`, sort directories, better logs (dart-lang/ecosystem#337) > f2d3178 2025-01-10 Devon Carew rename the 'map' command to 'run' (dart-lang/ecosystem#336) > 25c57b8 2025-01-10 Kevin Moore [puppy] Introduce a package for misc Dart CLI tools (dart-lang/ecosystem#335) > 21e81c5 2025-01-08 Kevin Moore [corpus] update to latest analyzer, bump min SDK (dart-lang/ecosystem#334) > > http (https://github.com/dart-lang/http/compare/6ecd13a..27184eb): > 27184eb 2025-01-21 Brian Quinlan Remove bespoke code that handled blocking callbacks (dart-lang/http#1450) > 7271367 2025-01-20 Kevin Moore [http] prepare v1.3.0 release (dart-lang/http#1451) > 7f50fc5 2025-01-15 Brian Quinlan Prepare cupertino_http 2.0.2 for release (dart-lang/http#1449) > 2bc4cc9 2025-01-15 Brian Quinlan Fix incorrect response processing (dart-lang/http#1448) > 531d3e5 2025-01-09 Kevin Moore [http2, conformance_tests] update dependencies (dart-lang/http#1443) > f0bcf02 2025-01-06 Brian Quinlan Add tests to verify NUL, CR & LF header value behavior (dart-lang/http#1440) > > test (https://github.com/dart-lang/test/compare/f364fc8..7fc9521): > 7fc95218 2025-01-17 Nate Bosch Drop reference to legacy communication protocol (dart-lang/test#2446) > 073ef8bd 2025-01-17 Matan Lurey Fix a type error that occurs comparing two large maps with `deepEquals`. (dart-lang/test#2442) > b5bfba54 2025-01-17 Nate Bosch Unblock CI: Ignore deprecation and skip a test (dart-lang/test#2445) > > web (https://github.com/dart-lang/web/compare/af5de5e..fd3d988): > fd3d988 2025-01-14 KennethHung Adapt paths for different development environments (dart-lang/web#336) > 7f440e4 2025-01-10 KennethHung Remove renames where the type doesn't exist anymore (dart-lang/web#334) > 3b06da9 2025-01-09 KennethHung Add missing FileReader event getters (dart-lang/web#333) > > webdev (https://github.com/dart-lang/webdev/compare/e72f365..4a92ba5): > 4a92ba58 2025-01-13 Ben Konyi [ DWDS ] Reset version to 24.3.3-wip (dart-lang/webdev#2569) > cc5aff69 2025-01-10 Ben Konyi [ DWDS ] Relax DDS constraint, prepare for 24.3.2 release > 562ab622 2025-01-10 Ben Konyi [ DWDS ] Reset version to 24.3.2-wip > a7c8fe76 2025-01-10 Ben Konyi Allow for setting custom DDS port (dart-lang/webdev#2546) > 7dc5c3a9 2025-01-09 Ben Konyi Rename copied SDK directory prefix from 'sdk copy' to 'sdk_copy' (dart-lang/webdev#2557) > 659e1dfc 2025-01-08 Jessy Yameogo Added support for some debugging APIs with the DDC library bundle format - part 5 (dart-lang/webdev#2549) > fcd906fc 2025-01-07 Srujan Gaddam Add ignores for deprecated web libraries with a TODO and move dwds to 24.4.0-wip (dart-lang/webdev#2559) > > Change-Id: I3e847d24146bfb6891e77098591b785a0d15a445 > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/405243 > Auto-Submit: Devon Carew <devoncarew@google.com> > Reviewed-by: Konstantin Shcheglov <scheglov@google.com> > Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Change-Id: I27c20ef89095a7d602c1a609d5533a27a7683a47 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/405445 Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Auto-Submit: Devon Carew <devoncarew@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Contribution guidelines:
dart format.Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.