1
0
mirror of https://github.com/dart-lang/sdk synced 2024-07-05 09:20:04 +00:00
Commit Graph

1049 Commits

Author SHA1 Message Date
Brian Quinlan
fa53fb66d0 Throw an error if an attempt is made to create more than one resource from a ResourceHandle
Change-Id: I629d2b9cfddd8e5f7fe8ae65a03362c7bcce5e2c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257000
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Brian Quinlan <bquinlan@google.com>
2022-09-14 18:17:33 +00:00
Lasse R.H. Nielsen
e4ae0cf2ce Make Uri treat \ as / in path and authority.
When using `Uri.parse` or `Uri(path:..)`, a `\` is treated as, and converted to, a `/`.
This avoids a particular problematic difference in behavior between Dart and the browser's `URL` functionality. There are still examples where the two differ in interpretation of the same code, but in those cases, the Dart `Uri` will most likely end up without a host name, which should be easily detected.


Change-Id: I798df6c3c27c6d64fb9fc8dc30d90b06ba5a9004
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258120
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
2022-09-13 11:48:19 +00:00
Alexander Thomas
14da46cfaa [release] Add changelog for 2.18.1
Change-Id: I754a5ae6a52e3be01dd90491f11dd642f77a5ec9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258923
Reviewed-by: Michael Thomsen <mit@google.com>
2022-09-13 07:58:49 +00:00
Paul Berry
7eab5ef808 Document and test additional breaking change.
Breaking change https://github.com/dart-lang/sdk/issues/49635 had a
slightly larger effect than I previously understood.  This change
documents the additional effect and adds a test that would have caught
it.

Bug: https://github.com/dart-lang/sdk/issues/49635
Change-Id: I40e9434a7fb87ff00d71b454239e4cadf197a285
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256880
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-09-08 16:05:05 +00:00
Jonas Termansen
ff212e8540 Fix old CHANGELOG entry at wrong header lever.
Change-Id: If6ccea08ccd27d0ed001892e2d170ca042b40f47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257062
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2022-09-07 09:46:57 +00:00
pq
3f346ef418 linter 1.28.0
Change-Id: I5f8e7dd1e581e37b456ba2be4c41904dbdfd7977
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/257125
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2022-09-02 15:46:23 +00:00
Kevin Moore
e11c172432 Fix library entries for 2.18 and 2.19
Correct ordering
Fixed header level

Change-Id: I117ff01793c36e389ecf8ff101f2f82ff0ef5bc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256801
Commit-Queue: Kevin Moore <kevmoo@google.com>
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2022-08-30 19:16:28 +00:00
Sam Rawlins
36affd7014 Analyzer changelog entries for 2.17, 2.18, 2.19
Diagnostic codes which are not in a link do not have a diagnostics page.

Change-Id: Ifedf15e8c956e91a9c498c2496ab9fa3e65844a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256782
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2022-08-30 14:14:18 +00:00
Alexander Aprelev
1583517b35 [changelog] Add CHANGELOG entry for landed File.create signature change.
Follow-up to 33846f3678

Change-Id: I6ed61ad407fe4b613809140052a800255b003b1b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256431
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2022-08-26 20:43:13 +00:00
Sigurd Meldgaard
c02c9753c3 Reland "Bump pub to ec35d46261b610e558dfd0d8525ca3fc8387b4b7"
This is a reland of commit 78636aaea9

Original change's description:
> Bump pub to ec35d46261b610e558dfd0d8525ca3fc8387b4b7
>
> Changes:
> ```
> > git log --format="%C(auto) %h %s" ac7db6c..ec35d46
>  https://dart.googlesource.com/pub.git/+/ec35d462 Fix null-safety warning in dart.dart (#3514)
>  https://dart.googlesource.com/pub.git/+/7d30cf0b Allow pubspec key 'funding' (#3529)
>  https://dart.googlesource.com/pub.git/+/8ff63a8e Fix remaining usages of path.prettyUri on git uris (#3524)
>  https://dart.googlesource.com/pub.git/+/bc32a30e Fix typo "exitcode" (#3511)
>
> ```
>
> Diff: https://dart.googlesource.com/pub.git/+/ac7db6c07318efa4a8712110275eaf70f96a6d00~..ec35d46261b610e558dfd0d8525ca3fc8387b4b7/
> Change-Id: I535f4fab8940ee8400ef75369d35fb4c1ee3adab
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255990
> Reviewed-by: Sarah Zakarias <zarah@google.com>
> Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>

Change-Id: I9c50c7b5ea01fc24cc97b328766ad7d2b9c4b36e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256280
Reviewed-by: Sarah Zakarias <zarah@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2022-08-25 11:16:32 +00:00
Sigurd Meldgaard
2559aba219 Revert "Bump pub to ec35d46261b610e558dfd0d8525ca3fc8387b4b7"
This reverts commit 78636aaea9.

Reason for revert: This breaks the google3 roll. We need to roll frontend_server_client first.

Original change's description:
> Bump pub to ec35d46261b610e558dfd0d8525ca3fc8387b4b7
>
> Changes:
> ```
> > git log --format="%C(auto) %h %s" ac7db6c..ec35d46
>  https://dart.googlesource.com/pub.git/+/ec35d462 Fix null-safety warning in dart.dart (#3514)
>  https://dart.googlesource.com/pub.git/+/7d30cf0b Allow pubspec key 'funding' (#3529)
>  https://dart.googlesource.com/pub.git/+/8ff63a8e Fix remaining usages of path.prettyUri on git uris (#3524)
>  https://dart.googlesource.com/pub.git/+/bc32a30e Fix typo "exitcode" (#3511)
>
> ```
>
> Diff: https://dart.googlesource.com/pub.git/+/ac7db6c07318efa4a8712110275eaf70f96a6d00~..ec35d46261b610e558dfd0d8525ca3fc8387b4b7/
> Change-Id: I535f4fab8940ee8400ef75369d35fb4c1ee3adab
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255990
> Reviewed-by: Sarah Zakarias <zarah@google.com>
> Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>

TBR=sigurdm@google.com,zarah@google.com

Change-Id: I9f46b5a63f8c3f0b11a9fe1d348696b1f988e5ca
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256080
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2022-08-23 09:58:30 +00:00
Sigurd Meldgaard
78636aaea9 Bump pub to ec35d46261b610e558dfd0d8525ca3fc8387b4b7
Changes:
```
> git log --format="%C(auto) %h %s" ac7db6c..ec35d46
 https://dart.googlesource.com/pub.git/+/ec35d462 Fix null-safety warning in dart.dart (#3514)
 https://dart.googlesource.com/pub.git/+/7d30cf0b Allow pubspec key 'funding' (#3529)
 https://dart.googlesource.com/pub.git/+/8ff63a8e Fix remaining usages of path.prettyUri on git uris (#3524)
 https://dart.googlesource.com/pub.git/+/bc32a30e Fix typo "exitcode" (#3511)

```

Diff: https://dart.googlesource.com/pub.git/+/ac7db6c07318efa4a8712110275eaf70f96a6d00~..ec35d46261b610e558dfd0d8525ca3fc8387b4b7/
Change-Id: I535f4fab8940ee8400ef75369d35fb4c1ee3adab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255990
Reviewed-by: Sarah Zakarias <zarah@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2022-08-23 08:44:09 +00:00
Paul Berry
b7567b1799 Flag additional code as unreachable due to types Null and Never.
Several unusual constructs that lead to unreachable code are now
recognized by flow analysis:

- Control flow after an expression of the form `e ?? other` or `e ??=
  other`, where `e` has static type `Null` and `other` has static type
  `Never`, is considered unreachable.

- Control flow predicated on an expression of the form `e is Never`
  evaluating to `true` is considered unreachable.

- Control flow predicated on an expression of the form `e is! Never`
  evaluating to `false` is considered unreachable.

- Control flow on the RHS of a null-aware access such as
  `e?.property...`, `e?.property = ...` or `e?.method(...)`, where `e`
  has static type `Null`, is considered unreachable (Note: this can
  arise in the presence of extension methods).

Previously, these behaviors only took effect if `e` was a reference to
a local variable.

Note: the change to `regress/issue_31180` is because I’ve corrected
the behavior of implicit temporary variables to not undergo a type
change from `Null` to `dynamic`, so the dead code part of `null?[1]`
is now erroneous.  (I had to make this change in order for the last
bullet above to work properly; without it, the type change to
`dynamic` prevents flow analysis from recognizing that the code to the
right of `?.` is unreachable.)  There's no behavioral change to
correct code, but I've captured the behavioral change to incorrect
code in
`tests/language_2/null_aware/null_aware_index_on_null_error_test.dart`.

Bug: https://github.com/dart-lang/sdk/issues/49635
Change-Id: I8b24b3b040a34f897c0b61dcb9bd105be6d0af6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251280
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2022-08-22 16:50:19 +00:00
William Hesse
321c4970ed Update CHANGELOG.md for 2.17.7 patch release
This is a patch release that:

- Fixes a crash in the debugger (issue [#49430][]).

[#49430]: https://github.com/dart-lang/sdk/issues/49430

Bug: https://github.com/dart-lang/sdk/issues/49430
Change-Id: I9b1e4f7422be502a08ab7f199effed3e799311ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255985
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2022-08-22 08:36:37 +00:00
Lasse R.H. Nielsen
a5f25ee3ba Add Isolate.run.
Adds static method on `Isolate` to run an asynchronous function
in a separate isolate.

Change-Id: I673373fa02524f1d0b88099027cfaf1b796eb344
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/254960
Commit-Queue: Lasse Nielsen <lrn@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2022-08-18 10:42:55 +00:00
Sigmund Cherem
fead8b897e [dart2js] remove support for reading sources from http (tech-debt)
Long ago the compiler had logic for reading sources via an http
connection. This is not a supported use case and there is no need to
keep this around anymore.

Change-Id: Ic59c154def264a52d9310133f76b153c9972899c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251701
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2022-08-16 00:01:26 +00:00
Michael Thomsen
c34b72482e Remove deprecated APIs from dart:convert
Contributes to bug: https://github.com/dart-lang/sdk/issues/34233

Change-Id: I443fa14342680b61bf7357d40347427200fea29b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247741
Reviewed-by: Lasse Nielsen <lrn@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
2022-08-09 10:21:22 +00:00
pq
11e2bf94e3 linter 1.27.0
Flutter engine fixes: https://github.com/flutter/engine/pull/35100
Flutter tools fixes: https://github.com/flutter/flutter/pull/108836
Flutter plugins test fixes: https://github.com/flutter/plugins/pull/6173
Flutter plugins script fixes: https://github.com/flutter/plugins/pull/6175
Flutter plugins testing/scenario_app: https://github.com/flutter/engine/pull/35165

(Internal) linter test execution fixes: cl/464897186


Change-Id: Ica7cbcba7599d1367fc67e088ff634398a160df7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253501
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-08-08 21:40:30 +00:00
Sigurd Meldgaard
29e56e9d09 Bump pub to ac7db6c07318efa4a8712110275eaf70f96a6d00
Changes:
```
> git log --format="%C(auto) %h %s" 9bf4289..ac7db6c
 https://dart.googlesource.com/pub.git/+/ac7db6c0 Fix string shortening (#3512)
 https://dart.googlesource.com/pub.git/+/4ed0d5cd Add pubspec_overrides.yaml to basicIgnoreRules (#3503)
 https://dart.googlesource.com/pub.git/+/d8f4c549 Remove all support for legacy .packages file (#3507)
 https://dart.googlesource.com/pub.git/+/1722b6a8 Update 2-BUG.md (#3495)
 https://dart.googlesource.com/pub.git/+/e60ef647 Add lint avoid_print (#3475)

```

Diff: https://dart.googlesource.com/pub.git/+/9bf4289d6fd5d6872a8929d6312bbd7098f3ea9c~..ac7db6c07318efa4a8712110275eaf70f96a6d00/
Change-Id: I730a048dbf10992270f74ddde47824cc071a3994
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253663
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2022-08-04 13:38:46 +00:00
Srujan Gaddam
409b426cfc [dart:html] Add SharedArrayBuffer constructor and slice
Fixes https://github.com/dart-lang/sdk/issues/35344

Change-Id: I5742adddf1fe01bfe40860a734a4c930091d8472
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253563
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2022-08-03 01:04:25 +00:00
Sigmund Cherem
b62e612dc8 [dart:html] Deprecate custom element registration APIs.
The `registerElement` APIs in `dart:html` are legacy APIs based on a
deprecated Web Components v0.5 specification. These methods don't work
on modern browsers and can only be used with a polyfill.

The latest Web Components specification is supported indirectly via
JSInterop and doesn't have an explicit API in the `dart:html` library.

This change marks these APIs as deprecated. We intend to remove them in
the future (see https://github.com/dart-lang/sdk/issues/49536)

Fixes https://github.com/dart-lang/sdk/issues/48973

Change-Id: I2e96d36e95c9971b59cde80bc4da49b63d12b17c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252840
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2022-07-28 16:07:30 +00:00
Michael Thomsen
e84412af45 Remove unsupported APIs in dart:mirrors
Contributes to bug: https://github.com/dart-lang/sdk/issues/34233
Fixes https://github.com/dart-lang/sdk/issues/32507

Change-Id: Iee72e9f91fc1fc49761e6f5e6e9dba412493c8ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/248003
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2022-07-20 18:28:35 +00:00
Michael Thomsen
04ae05beae Changelog entry for .packages breaking change
Change-Id: I40d03b47a9f0e4ebe4d3c95d8ab8101a2fd0f7b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251765
Reviewed-by: Kevin Moore <kevmoo@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2022-07-19 08:03:54 +00:00
Michael Thomsen
f667180626 Fix dart:developer changelog.
This content was added in the wrong place in https://dart-review.googlesource.com/c/sdk/+/251767.

Change-Id: Ifce9d9258e7f3f420c9d8081f76648c5891985c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251943
Reviewed-by: William Hesse <whesse@google.com>
2022-07-19 07:58:08 +00:00
Michael Thomsen
e15d639827 Remove deprecated APIs from dart:developer
Contributes to bug: https://github.com/dart-lang/sdk/issues/34233

Change-Id: I18f12b8c8da2ec444911128b96111e93df6c0496
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251767
Commit-Queue: Michael Thomsen <mit@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2022-07-19 07:10:03 +00:00
Brian Quinlan
981bcf61c9 Disallow invalid content-length.
Change-Id: I502c80f6d5914683622272cca37b5ba324f9262f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/248840
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Brian Quinlan <bquinlan@google.com>
2022-07-19 00:44:33 +00:00
Alexander Thomas
f2bd1e9641 [release] Move CHANGELOG entries to 2.18
Change-Id: I35d887541c8de985b55daed7c732c0d8302d278a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251542
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Lasse Nielsen <lrn@google.com>
2022-07-14 14:13:28 +00:00
Ben Konyi
4c263d3754 [ dart:developer ] Add deprecation message to MAX_USER_TAGS
Follow up to https://dart-review.googlesource.com/c/sdk/+/251120/

Change-Id: Ib7fa8d1ece6d3301489f70d58793b65e0c1cfe0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251240
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2022-07-12 15:40:12 +00:00
William Hesse
3224487a07 Update CHANGELOG.md for 2.17.6 patch release
This is a patch release that fixes:

- Improve code completion for Flutter (issue [#49054][]).
- Fix crash on ARM (issue [#106510][]).
- Fix compiler crash with Finalizable parameters (issue [#49402][]).

[#49054]: https://github.com/dart-lang/sdk/issues/49054
[#106510]: https://github.com/flutter/flutter/issues/106510
[#49402]: https://github.com/dart-lang/sdk/issues/49402

Change-Id: I9a814603d9793b75b764fd0f384e89017e773c50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251109
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2022-07-12 10:06:12 +00:00
pq
3efd79b4b5 linter 1.26.0
Change-Id: I0a20fd9f26933908f6c40cb1019fca45b9a88299
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250949
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2022-07-11 20:00:21 +00:00
Alexander Markov
5a067e91bb Describe new async/async*/sync* implementation in CHANGELOG.
Issue: https://github.com/dart-lang/sdk/issues/48378
Change-Id: I0cfff561a06c402603ad4f2b977821b572cb6e21
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250408
Reviewed-by: Slava Egorov <vegorov@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2022-07-06 15:17:50 +00:00
Janice Collins
822cd1cbd5 Remove dartanalyzer from built SDK.
Bug: https://github.com/dart-lang/sdk/issues/48457
Change-Id: Ic0d038299712989b8445859590ff870ce3bdc13a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249662
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-07-01 17:43:20 +00:00
William Hesse
ff03ff9f77 [release] Add changelog for 2.17.5
Because of a problem releasing 2.17.4, a new stable release 2.17.5
is being created with no additional changes. Since 2.17.4 will not
be published, the changelog entry is changed to refer to 2.17.5.

Change-Id: Ibf4c83268790ccca54eb375a3a958dd56ce538d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249189
Reviewed-by: Michael Thomsen <mit@google.com>
2022-06-27 08:35:29 +00:00
Lasse R.H. Nielsen
a08a5c5d6c Deprecate BidirectionalIterator.
There is only one use of it in the SDK, `RuneIterator`,
one use of it outside, `TreeSet` from `package:quiver`,
and one known use in Google internal code.

There are other bi-directional iteration interfaces,
like `CharacterRange` from `package:characters`,
which can move a cursor in two directions,
but which didn't loke the `movePrevious` name and therefore
are not `BidirectionalIterator`s.
(There is also a Google internal class which mentions explicitly
why they're not `BidirectionalIterator`.)

There is no real need for this "shared" interface.
It doesn't carry its own weight.
We have no abstractions which work on the *interface*,
only code that works on one specific concrete implementation.

I'd recommend:
* `quiver` introduce a `TreeSetIterator` for their use-case
  (the actual class has more public members than `BidirectionalIterator`,
  which cannot be accessed through the declared type.)
* the Google internal code introduces its own interface
  (which is just `Iterable` + `movePrevious`.
* The SDK will just make `RuneIterator` not implement
  `BidirectionalIterator` at some (breaking) point.
  Maybe just when we remove the type.


FLUTTER: Needs to land https://github.com/flutter/flutter/pull/106471 before merging this CL into Flutter.

Change-Id: Iaaa6b0c428d30eb3b68898c077d265ac0a622805
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249486
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
2022-06-24 14:21:29 +00:00
William Hesse
2118a4b813 [release] Add 2.17.4 release notes
This is a patch release that fixes:

- Improve analysis of enums and switch (issue [#49188]).
- Fix compiler crash when initializing Finalizable objects (issue [#49075]).

[#49188]: https://github.com/dart-lang/sdk/issues/49188
[#49075]: https://github.com/dart-lang/sdk/issues/49075

Change-Id: If2059474ce2acbadf7f3c6e407f0087d262e2842
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249161
Reviewed-by: Michael Thomsen <mit@google.com>
2022-06-20 14:36:33 +00:00
Lasse R.H. Nielsen
330759efc0 Refactor to implement Stream.fromIterator more directly.
The current implementation uses a specialized version of the
pending-event queue used by stream subscriptions to remember
pending events.
That makes the queue polymorphic, and slightly more complicated than
necessary, and that again makes further refactorings of the
Stream implementation harder.

This change moves the logic from the specialized pending-queue
into a simple function instead, so you only pay for it if you
actually use `Stream.fromIterable`.

Also allows `Stream.fromIterable` to be listened to more than once.
(It uses `Stream.multi` for the general async+sync controller API,
and it would cost extra code to make it only work once.)

Change-Id: I44b2010225cd3d32c2bcdb8a315c94881331bdae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/248146
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
2022-06-16 11:39:30 +00:00
Ahmed Ashour
85700570f6 Fix typos
Fixes #49241

TEST=ci

Change-Id: I6117bf816fc8c4613cce66927f952fef75632725
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/248120
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-06-15 11:08:28 +00:00
Sigmund Cherem
69249df50b [web] remove top-level scripts for dartdevc and dart2js.
This completes the breaking change that was previously announced in
https://github.com/dart-lang/sdk/issues/46100

Change-Id: Ie81665e7932fe00a8c1fee9f67ee8294cd4c89e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/248342
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2022-06-14 18:29:17 +00:00
Johnni Winther
7900e9071a [cfe] Remove support for old super-mixins feature
This CL remove the support for mixing in classes that don't extend
Object. An error has been report by the analyzer for some time and
now also by the CFE.

This puts the breaking change https://github.com/dart-lang/sdk/issues/48167 into effect.

TEST=pkg/front_end/testcases/general/issue48167.dart

Change-Id: Ia7715a27dc1aa18a7c85b24ed86d19a91b6924d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247551
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2022-06-13 15:30:57 +00:00
Sigurd Meldgaard
2aa637afce Bump pub to c4e9ddc888c3aa89ef4462f0c4298929191e32b9
Changes:
```
> git log --format="%C(auto) %h %s" 51435ef..c4e9ddc
 https://dart.googlesource.com/pub.git/+/c4e9ddc8 Extend retries for file-ops on windows (#3451)
 https://dart.googlesource.com/pub.git/+/6aeb1795 Upgrade package:lints to 2.0.0 (#3445)
 https://dart.googlesource.com/pub.git/+/73ea9a98 Roll tar to 0.5.5+1 (#3447)
 https://dart.googlesource.com/pub.git/+/2dc887fe Add env var for writing golden files (#3222)
 https://dart.googlesource.com/pub.git/+/764500b8 List all files in pub publish (#3440)
 https://dart.googlesource.com/pub.git/+/0b52e6a8 Remove debug print (#3441)
 https://dart.googlesource.com/pub.git/+/ea070238 Merge pull request #3443 from jonasfj/master
 https://dart.googlesource.com/pub.git/+/bffd1267 Merge branch 'cherry-pick-for-2.17.2'
 https://dart.googlesource.com/pub.git/+/c66381c5 Make `name` field of `_UserInfo` nullable. Fix #3424 (#3442)
 https://dart.googlesource.com/pub.git/+/cecc8e3c Handle broken response from userinfo_endpoint (#3427)
 https://dart.googlesource.com/pub.git/+/6c635040 Make `name` field of `_UserInfo` nullable. Fix #3424 (#3442)
 https://dart.googlesource.com/pub.git/+/6f20a94b Handle missing pubspec.lock in dependency_services list (#3439)
 https://dart.googlesource.com/pub.git/+/0ad17e84 Handle broken response from userinfo_endpoint (#3427)
 https://dart.googlesource.com/pub.git/+/153ef061 `pub add` create top-level attribute in block-style if possible. (#3423)
 https://dart.googlesource.com/pub.git/+/3b96f910 Handle error code 183 on windows (#3426)
 https://dart.googlesource.com/pub.git/+/9eb6428c Ignore `pubspec_overrides.yaml` for `publish` command (#3419)

```

Diff: https://dart.googlesource.com/pub.git/+/51435efcd574b7bc18d47a5dd620cb9759dea8f8~..c4e9ddc888c3aa89ef4462f0c4298929191e32b9/
Change-Id: I6dacb3e95c6399d3fb5cf340b5d0e5cded270684
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247962
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2022-06-13 08:39:56 +00:00
Brian Quinlan
d32a274c90 Add a breaking change note for #49045
Bug: https://github.com/dart-lang/sdk/issues/49045
Change-Id: I9ac976545c0505a20a90f12333a424d0ed8cf96f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247820
Commit-Queue: Brian Quinlan <bquinlan@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2022-06-09 19:28:25 +00:00
Michael Thomsen
da050a2b16 Reland "Remove SCREAMING dart:io networking APIs"
This is a reland of commit abfdc3d50f

Original change's description:
> Remove SCREAMING dart:io networking APIs
>
> Bug: https://github.com/dart-lang/sdk/issues/49140
> Change-Id: I50c6cca26597ee4d469b776fcec412ddfed760e1
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246962
> Reviewed-by: Paul Berry <paulberry@google.com>
> Commit-Queue: Michael Thomsen <mit@google.com>

Bug: https://github.com/dart-lang/sdk/issues/49140
Change-Id: I64a4bdb69909dd864e84efae7dc423fc435e40ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247543
Reviewed-by: Oleh Prypin <oprypin@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
2022-06-08 16:57:32 +00:00
Oleh Prypin
159887ff78 Revert "Remove SCREAMING dart:io networking APIs"
This reverts commit abfdc3d50f.

Reason for revert: breaks on internal roll - b/235267735 and others can be fixed in advance of landing this

Original change's description:
> Remove SCREAMING dart:io networking APIs
>
> Bug: https://github.com/dart-lang/sdk/issues/49140
> Change-Id: I50c6cca26597ee4d469b776fcec412ddfed760e1
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246962
> Reviewed-by: Paul Berry <paulberry@google.com>
> Commit-Queue: Michael Thomsen <mit@google.com>

TBR=mit@google.com,paulberry@google.com

Change-Id: I55a43cc1bd7435fe7824f7ca8098575232fdcf2f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/49140
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247389
Commit-Queue: Oleh Prypin <oprypin@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Oleh Prypin <oprypin@google.com>
2022-06-08 07:22:31 +00:00
pq
a362115c60 bump to linter 1.25.0
Change-Id: Ie709139029d1f58cef4807708ff054acb0fba6cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247363
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-06-07 17:59:29 +00:00
Michael Thomsen
abfdc3d50f Remove SCREAMING dart:io networking APIs
Bug: https://github.com/dart-lang/sdk/issues/49140
Change-Id: I50c6cca26597ee4d469b776fcec412ddfed760e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246962
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
2022-06-07 16:00:17 +00:00
Nate Bosch
75ed6c01fb Make path argument optional for Uri.http(s)
Closes #49165

The empty string argument can be confusing to read since it is not clear
what it means. Allow omitting the argument entirely to default to an
empty path.

R=lrn@google.com

Change-Id: I05ca432a679a0df751a16d1beb241b14f80d4681
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246988
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Lasse Nielsen <lrn@google.com>
2022-06-03 18:07:27 +00:00
William Hesse
11d63e3fa0 [release] Add 2.17.3 release notes
Change-Id: I92ba9f098153a52797c2e294e36cb197d7b69f48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246640
Reviewed-by: Alexander Thomas <athom@google.com>
2022-06-01 08:38:51 +00:00
Jonas Termansen
83850ac5fa [io] Don't restore terminal state on exit.
This is breaking change #45630.

The Dart VM has until now restored the terminal settings upon exit to
their initial values for stdin, stdout, and stderr. This change removes
that automatic behavior in favor of having the program do the
restoration. Previously the intention was that dart programs can
enable/disable echoing and line buffering and not worry about restoring
the original settings.

However, the VM doing so unconditionally leads to undesirable behavior
e.g. when the program does not care about terminal settings and is
sharing a process group with a program that does care. E.g. if dart's
output is piped into less(1), then there is a race condition where dart
might see the raw terminal settings set by less(1), and if the dart VM
exits after less(1) has exited, then it will restore the raw terminal
settings, leaving the user with a seemingly defective shell with echo
disabled. This race condition can be reproduced using:

    cat > yes.dart << EOF
    main() {
      for (int i = 0; i < 1000000; i++) {
        print("yes");
      }
    }
    EOF
    stty; (sleep 1 && dart yes.dart) | less; stty; stty sane

The user will end up with a shell with echo behavior disabled. The stty
command shows the current terminal settings, where the difference can be
seen, and 'stty sane' fixes the settings before returning to the shell
prompt. The 'stty sane' call can be omitted to see the defective shell
prompt.

This change removes the terminal restoring behavior (added in Dart
2.0.0) and instead asks applications to do the restoration themselves.
The new design matches how programs in other programming languages
implement interactive input that changes terminal settings.

Furthermore the `echoMode` setting now only controls the `echo` local
mode and no longer sets the `echonl` local mode on POSIX systems (which
controls whether newline are echoed even if the regular echo mode is
disabled). The `echonl` local mode is usually turned off in common shell
environments. Programs that wish to control the `echonl` local mode can
use the new `echoNewlineMode` setting. This change is required to
prevent the reoccurence of #30318 when programs manually restore
`echoMode`.

Windows has further considerations: It also saves the console code pages
and restore them if they were not UTF-8. This behavior is retained as it
is useful and needed for Dart's output to function properly. ANSI output
sequences are also turned on via ENABLE_VIRTUAL_TERMINAL_PROCESSING,
which is slightly changed in this change to only rsetore that setting if
it wasn't already on for consistency.

Closes https://github.com/dart-lang/sdk/issues/36453
Closes https://github.com/dart-lang/sdk/issues/45630

TEST=Reproduced with less as above

Change-Id: I2991f9c7f47b97fe475c1ad6edeb769024f8d0db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190484
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2022-05-31 15:36:33 +00:00
William Hesse
c326007193 [release] Add 2.17.2 release notes
Change-Id: I18e92d65698804073de8c9920d7aca08283dfb60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246441
Reviewed-by: Alexander Thomas <athom@google.com>
2022-05-30 14:50:39 +00:00
Paul Berry
0a92b0c3aa Turn on the experimental feature inference-update-1.
Fixes https://github.com/dart-lang/language/issues/731.

Change-Id: I5fee1470efe7b891b79dcfecd33bc3670590efb3
Tested: trybots, and global presubmit in the internal mono repo
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/243530
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
2022-05-24 13:54:23 +00:00