Commit Graph

112887 Commits

Author SHA1 Message Date
Nate Biggs 3d2d6492c1 Add 'external-effect' pragma support to all the backends.
Call sites targeting a procedure annotated with `external-effect` will
not produce any code, including the argument which will not be
evaluated.

However, the single parameter will be treated as 'live' for the purposes
of any global analysis the backends do. This is useful for things like
protobuf shaking where a user may want to retain certain protobuf
messages without actually emitting the code that retains those messages.

Today this functionality is available internally in the vm and wasm SDK
libraries. dart2js has similar functionality represented via the
opaqueTrue and opaqueFalse booleans (which will cause conditional
branches to get shaken after analysis). This will replace dart2js's
opaque(True/False).

This also adds validation to the frontend to ensure a method annotated
with 'external-effect' is well-formed.

Change-Id: If1c4096673e655c58fe7638840a16125003e7809
Tested: Backend tests for codegen were added. A frontend test was added for the validation. A language test was added to confirm the behavior.
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/476020
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2026-04-27 09:42:38 -07:00
Konstantin Shcheglov d29b88d152 [analyzer] Update SDK constraint to ^3.11.0
This enables to use dot shorthands.

Version 3.11 has been on the stable channel for over two months, so it
should be safe to rely on this language version.

Change-Id: I9732737e0de45aa75816b3f95a124e6ed92e889b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498280
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2026-04-27 09:08:48 -07:00
Sigmund Cherem 8c9f9af9e3 [vm] Make IsRedirectingFactory a JIT-only state bit
To support checking for dynamically-callable targets in dart dynamic
modules, we need to use a bit in the Function header in AOT. Currently
all 32 bits of `kind_tags_` are in use. To make space for that new bit,
we need to evict one of the current properties that is not needed by AOT.

Among them, `IsRedirectingFactory` made the top of the list. It has only
one use in non-AOT logic.

TEST=existing
Bug: b/448095881

Change-Id: I3112d8865523696ed8e906a6c59f53c23db3090a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498281
Auto-Submit: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2026-04-27 08:53:18 -07:00
Alexander Markov 946bb79832 [modular_aot] Support undefined value of local variables
Issue: https://github.com/dart-lang/sdk/issues/61635
Change-Id: Ic785f47da63511023de09167dd2787337a46f8f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498200
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2026-04-27 07:40:35 -07:00
Alexander Markov 8363860ee7 [vm,compiler] Fix handling of the argument of _simpleInstanceOf
The 2nd argument of _simpleInstanceOf call is always a
Constant (type). However, a Redefinition can be inserted in the middle.

So, instead of ArgumentAt(1)->AsConstant()->value() it is
more safe to use ArgumentValueAt(1)->BoundConstant() as
BindsToConstant/BoundConstant unwraps Redefinition(s) via
OriginalDefinition().

TEST=runtime/tests/vm/dart/regress_63211_test.dart
Fixes https://github.com/dart-lang/sdk/issues/63211

Change-Id: Ie4a473ebe2deee8562e6634a792f02b0dcefc918
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497761
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2026-04-27 07:38:24 -07:00
Daco Harkes d13596f2f2 [dart_data_home] Prepare for release
Intended to be published under
https://pub.dev/publishers/tools.dart.dev/packages

Solves all warnings from `dart pub publish --dry-run`.

Change-Id: Ibeae127aaafb8f2ec92a59843f56f48dcf33660e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498561
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2026-04-27 05:08:18 -07:00
Helin Shiah 487b03e74e Use later tools commit with fixed tests
Bug: https://github.com/flutter/dart-intellij-third-party/issues/288
Change-Id: I06688ca16114fda30d0447ce7ff3b17f64286751
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497820
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2026-04-27 01:45:02 -07:00
Erik Ernst 5ecbd3acc2 Fix the error_test failures
This CL adjusts the CFE handling of errors such that error_test.dart
succeeds: It changes the placement of the error about "wrong parameter
type" such that it is reported on the type annotation and not on the
parameter's name. Next, it adds some extra checks such that it is
enforced that the parameter of an anonymous method must be positional
and mandatory.

Change-Id: I56851d94c9fd975e117c17f671d684f155a28847
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498021
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-04-27 01:31:31 -07:00
Konstantin Shcheglov fffd7cf17b Issue 56118. Add DartObject.toTypeValueNotExtensionTypeErased() as experimental.
Bug: https://github.com/dart-lang/sdk/issues/56118
Change-Id: Iab31aec4737267e03fff7435bd92c3226c9f1744
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/488060
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2026-04-26 11:29:19 -07:00
FMorschel f891d8f664 [linter] Fixes simplify_variable_pattern for typedefs and type parameters
Fixes: https://github.com/dart-lang/sdk/issues/63207
Change-Id: I9e62450ce01c9e38a923af639602007afb81e7ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/496540
Auto-Submit: FMorschel <git@fmorschel.dev>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2026-04-25 08:27:44 -07:00
Erik Ernst 3809c0f559 Introduce error for super in parameterless anonymous method
It is a compile-time error for `super` to be used in any way when in the
body of a parameterless anonymous method. This CL adds these error
messages to the analyzer.

It introduces a new `SuperContext` in order to maintain proper knowledge
about the situation when it is detected, but it uses a rather generic
error message (just saying that the context is wrong) following the
rationale that this is sufficient for occurrences of `super` in static
members, constructors, top-level declarations, and more.

Change-Id: I4552be0983e4d64a6e59fd03521cbe4f5c784f15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498040
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2026-04-25 01:05:42 -07:00
Sigmund Cherem 7f4f8347a9 [dyn_modules,vm] Apply dynamic interface annotator on non-AOT compiles
In order to perform runtime checks on dynamic calls, the JIT runtime
needs to also have access to some pragmas introduced by the annotator.
Primarily we need the `dynamically-callable` and
`implicit-dynamically-callable` pragmas.

For now, this CL allows us to mimic the behavior in JIT by using the
annotator also when doing non-aot kernel compiles. This is not enough to
support JIT in the general case: it doesn't support compiling from
source with the front-end-server or incremental builds. To support those
we will likely need a modular approach (like only annotating explicit
dynamically-callable during kernel compiles and inferring
implicit-dynamically-callable in the VM instead).

Note: this CL doesn't introduce new logic, it mainly moves the existing
logic to also run when building kernel snapshots for JIT.

TEST=existing, in the future additional coverage will be added when
performing runtime checks.

Change-Id: I9b97dd9f029f1d538ee23c0dff73b01dec0d776b
Bug: b/506246406
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497622
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2026-04-24 17:59:27 -07:00
Brian Wilkerson 6272dd1d89 Add a design doc for document highlight
An attempt to capture some of the conclusions from recent discussions.

Please let me know if this doesn't sound reasonable or if there are
pieces I've missed (such as other exceptions to the general rule).

Change-Id: I2520a768de116be5d9a86f9cb4494dcad7d88f5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497780
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2026-04-24 16:20:12 -07:00
Nate Biggs e066caea9f Fix recorded usages test creating temp directories without deleting.
Change-Id: Ie3235b15d0f456ffb53f5132ba7929759b61afda
Tested: Test cleanup
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498180
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2026-04-24 14:06:40 -07:00
Konstantin Shcheglov e86cdad403 Issue 63206. Use MissingRequiredSdkClassException to report from TypeProviderImpl.
Bug: https://github.com/dart-lang/sdk/issues/63206
Bug: https://github.com/dart-lang/sdk/issues/63224
Change-Id: I8c9b78e3f5829099ff4d23a745770f67ca61ba8b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497180
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2026-04-24 12:21:51 -07:00
Nate Biggs d43d9df1a7 [dart2wasm] Remove dynamic modules support from the dart2wasm compiler.
Change-Id: If92f55296dfe83b64165a2bd07eaefb7d137198c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497341
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2026-04-24 12:04:23 -07:00
Sam Rawlins c45dc162f6 linter: avoid_print: Do not report use in comment references
Work towards https://github.com/dart-lang/sdk/issues/60511

Change-Id: I45ebd3986f9c26dde8492f983fc9e165f4b7f95c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498022
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2026-04-24 11:52:47 -07:00
Sam Rawlins 95613f5d07 linter: Report unnecessary_async for dynamic- and Object-returning functions
Fixes https://github.com/dart-lang/sdk/issues/60416

There was discussion about expanding the purview of this lint rule, and
`Object`- or `dynamic`-returning functions do not need their return
type changed, so the fix does not change that behavior.

Change-Id: I835732d6ab25dd85142f8763624eda2d9293e003
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497840
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2026-04-24 11:50:21 -07:00
Sam Rawlins dd24a9c82a linter: cascade_invocations: fix reporting in switch statements
Fixes https://github.com/dart-lang/sdk/issues/59556

Change-Id: Ic397c7d8186ac5ffde79c5823f97f2964476bb9d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497781
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2026-04-24 11:30:20 -07:00
Sam Rawlins e9371b188c analyzer: unused_element: Check for overridden elements accessed in extension
Fixes https://github.com/dart-lang/sdk/issues/62198

Change-Id: I4506ccf7b7910e3ac257e846e08acad8fff7ac79
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497740
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2026-04-24 11:30:00 -07:00
Sam Rawlins 335ab1588d infra: Use built SDK when analyzing flutter packages
Change-Id: Ie1cae3bd803b1608a4ce70971e8d94c0d19a2daa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498023
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2026-04-24 10:52:37 -07:00
Simon Binder 03fd5927a4 [dart2wasm, standalone]: Avoid importing js-string constants
dart2wasm imports strings as globals for which JavaScript engines would
provide the respective values. The standalone target needs to support
all WebAssembly runtimes, so it can't rely on this mechanism.

Instead, this imports functions to convert a WebAssembly arrays of char
codes or ASCII bytes into a string. For now, these functions have to
return JS strings since the rest of the SDK relies on that. In the
future, embedders would be able to return any string implementation as
an externref.

Because calling host functions is invalid in constant contexts, string
constants can't be regular globals. For now, this uses the default
non-eager constant implementation with one initialization function per
string constant. Eventually, we should probably initialize these
strings in a WASM start function instead.

TEST=pkg/dart2wasm/test/standalone_test.dart
Change-Id: I93b7c3846fbe99daa8ffa31e452f62672b61ce4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/495020
Reviewed-by: Nate Biggs <natebiggs@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2026-04-24 10:49:11 -07:00
Sam Rawlins 33648b761d DAS: Remove more unnecessary "async" keywords
Work towards https://github.com/dart-lang/sdk/issues/60416

Change-Id: I90d93b371698bd7703f6049dcdfeb994d6228729
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497841
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
2026-04-24 10:45:17 -07:00
Kallen Tu 77cf3047a3 Dot Shorthands: Const selector chains.
I changed the parsing of const dot shorthands to parse the entire selector chain in `parsePrecedenceExpression` rather than parsing them in `parseConstExpression`. We were originally parsing the initial expression before the `.` and only flagging that as a dot shorthand which prevented any chaining on const constructors. Const expressions with chained methods/property accesses were not being flagged as a dot shorthand so we weren’t saving the context type properly which led to producing the “unknown context type” error.

Before:
```
class C {
  const new someConstCtor();
  C method() => this;
}

C c = const .someConstCtor.method();
// (const .someConstCtor) is parsed and handled as a const constructor
// (const .someConstCtor) is handled as a dot shorthand, context is
// saved on only this AST and not the outer chain.
// Then we parse the rest of the selector chain (.method())
//
// Error: No context type for (const .someConstCtor.method())
```

After:
```
class C {
  const new someConstCtor();
  C method() => this;
}

C c = const .someConstCtor.method();
// (const .someConstCtor) is parsed and handled as a const constructor.
// Then we parse the rest of the selector chain (.method())
// (const .someConstCtor.method()) is handled as a dot shorthand, context is saved for this outer node.
//
// OK. No error because we are able to retrieve the type for the
// entire dot shorthand chain.
```

Fixes: https://github.com/dart-lang/sdk/issues/63119
Change-Id: I3308d8eb7ce101466be257aba6b5448921bff136
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/495560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2026-04-24 10:40:26 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com 47f9fbd59a Roll Fuchsia SDK from 31.20260416.7.1 to 31.20260417.4.1
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-sdk-dart-sdk
Please CC fuchsia-3p-engprod@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Fuchsia SDK: https://bugs.fuchsia.dev/p/fuchsia/issues/list
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-x64-try;luci.dart.try:vm-fuchsia-release-arm64-try
Change-Id: Ide83577972e331e125fc93a9ae85037f88656ad4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/496360
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Brian Quinlan <bquinlan@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
2026-04-24 10:20:25 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com 8eb3e6995c Roll BoringSSL from 7954718d7735 to 8743bafcfe78 (8 revisions)
https://boringssl.googlesource.com/boringssl.git/+log/7954718d7735..8743bafcfe78

2026-04-23 davidben@google.com Fix ERR_add_error_data call in SSL_add_dir_cert_subjects_to_stack
2026-04-23 davidben@google.com More consistently make the ASN1_TYPE-level type take precedence over the ASN1_STRING one
2026-04-23 xfding@google.com rust: bssl-tls: Take a borrowed credentials
2026-04-23 xfding@google.com rust: bssl-tls: Drop unused functions
2026-04-23 xfding@google.com rust: bssl-tls: Bubble up EOF during shutdown
2026-04-23 davidben@google.com Fix output bounds checking in EVP_AEAD_CTX_seal_scatter
2026-04-23 davidben@google.com Fix return value on impossible error condition
2026-04-23 davidben@google.com pki: Set a default iteration limit of 20

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/boringssl-dart-sdk
Please CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in BoringSSL: https://crbug.com/boringssl/new
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: dart-vm-gardener@rotations.google.com
Change-Id: Ica8b26eb24631c0dc6cf27e7c0545271ed08cbe9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497660
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2026-04-24 09:36:04 -07:00
Srujan Gaddam 442bdeda4a Revert "[dart:js_interop] Make JSFunction and JSExportedDartFunction generic"
This reverts commit e7dbd6ba48.

Reason for revert: Broke flutter_analyze

Original change's description:
> [dart:js_interop] Make JSFunction and JSExportedDartFunction generic
>
> Fixes https://github.com/dart-lang/sdk/issues/54557
>
> The generic type in JSExportedDartFunction corresponds to the
> static type of the function it wrapped, whereas for JSFunction,
> it's purely a descriptor of the JS function.
>
> When calling JSExportedDartFunction, a cast is now introduced
> to cast it to T.
>
> When calling isA, the type in JSExportedDartFunction is passed
> along to check that the value that is wrapped is that function
> type. Because the T in JSFunction is descriptive, e.g.
> isA<JSFunction<int Function()>>() does no such check.
>
> ____
>
> Also cleans up:
>
> - isA<JSTypedArray>() logic to use intrinsic functions
> - some expectation files to be consistent for both dart2js and ddc.
>
> CoreLibraryReviewExempt: Backend-specific library with needed reviews.
> Change-Id: I1a55c4386e416fa4ccabe06ac5051f41c2e2e95a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/496820
> Reviewed-by: Lasse Nielsen <lrn@google.com>
> Commit-Queue: Srujan Gaddam <srujzs@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I98447c8c95906feb7f8f1a57859a24fc8e4966d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498080
Commit-Queue: Alexander Aprelev <aam@google.com>
Auto-Submit: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
2026-04-24 09:31:08 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com 206eb35591 Roll Clang from 26697f4d07eb to a3f244e2d555
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/clang-dart-sdk
Please CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Clang: https://bugs.fuchsia.dev/p/fuchsia/issues/list?q=component%3AToolchain
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try;luci.dart.try:dart-sdk-linux-arm64-try;luci.dart.try:dart-sdk-mac-try;luci.dart.try:dart-sdk-mac-arm64-try;luci.dart.try:dart-sdk-win-try;luci.dart.try:vm-asan-mac-release-arm64-try
Change-Id: Ifcb7e0afb9a40759d0a28e3df076b6cdb51a200c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/496700
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
2026-04-24 09:28:02 -07:00
Konstantin Shcheglov bf0f72ae14 CQ. Refactor test type construction to use parseType().
Replace manual type construction utilities in type system tests with a
unified string-based type parser. This simplifies test code, improves
readability, and enables more expressive type scenarios.

Key changes:
- Introduce TypeSpecParser and TypeParsingScope to parse types,
  function types, records, and type parameters from strings.
- Add parseType() and related helpers to AbstractTypeSystemTest,
  replacing ElementsTypesMixin usage.
- Remove ElementsTypesMixin and migrate all tests to use parsed
  types instead of manually constructed TypeImpl instances.
- Extend _SpecParser to support:
  - Promoted type parameter bounds (`T & int`)
  - Parenthesized vs record types disambiguation
  - Additional built-in types (InvalidType, UnknownInferredType)
  - Variance in generic function types
  - Covariant parameters
- Refactor scope construction to use _Scope.forLibraries, reducing
  duplicated interface/type alias collection logic.
- Add standalone materialization flow for type parameters to support
  parsing in isolation.

Impact:
- Tests become more declarative and closer to Dart syntax.
- Eliminates boilerplate and reduces risk of inconsistencies in
  manual type construction.
- Enables testing of newer type system features (promotion,
  variance, complex function types) via concise string specs.

Change-Id: I85dd0aa88a37142356f14419d0d35350e38b9c8b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497680
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-04-24 09:21:11 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com 7b337624fb Roll gn from e2f38fa47b6a to dcc5e98fbd10
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/gn-dart-sdk
Please CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in gn: https://bugs.chromium.org/p/gn/issues/list
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try;luci.dart.try:dart-sdk-linux-arm64-try;luci.dart.try:dart-sdk-mac-try;luci.dart.try:dart-sdk-mac-arm64-try;luci.dart.try:dart-sdk-win-try
Change-Id: I4017b79a19b9dbf1627d465580bee83bdc44b4bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498000
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2026-04-24 08:30:32 -07:00
Danny Tuppeny 4d07f9ace4 [vm_service] Use empty lists instead of null for non-optional fields when parsing JSON
Change 64060a8ddf accidentally lost `?? []` for non-optional fields when parsing JSON. This change restores that (in `generate_dart_common.dart`), along with some minor tweaks to get the codegen to work on Windows.

For reasons I don't understand, the generated files were formatted differently to how the formatter formats them on my machine today, which unfortunately makes the diff larger than the intended change.

Change-Id: Ibadaa3ec4c6af4e636c1e5ffd2c7e792bc1e8a14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497600
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2026-04-24 08:03:51 -07:00
Sergey G. Grekhov b715374b28 [co19] Roll co19 to 6dd7cfd216aa4ffb532832837ddf9242f7055665
2026-04-23 sgrekhov22@gmail.com dart-lang/co19#2979. Update static errors tests according to the spec (dart-lang/co19#3750)
2026-04-23 sgrekhov22@gmail.com Fixes dart-lang/co19#3730. Update expected errors in definition_t16.dart (dart-lang/co19#3751)
2026-04-21 sgrekhov22@gmail.com dart-lang/co19#3709. Delete two tests that check unspecified behavior (dart-lang/co19#3747)
2026-04-20 sgrekhov22@gmail.com dart-lang/co19#3698. Update assertions, remove duplicates (dart-lang/co19#3745)
2026-04-20 sgrekhov22@gmail.com dart-lang/co19#3698. Update `no_expression_*` tests (dart-lang/co19#3744)

R=athom@google.com, eernst@google.com

Cq-Include-Trybots: luci.dart.try:analyzer-linux-release-try,dart2js-minified-linux-d8-try
Change-Id: I780fce29d04a3ef26a0883d15e7638bb69c01781
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497940
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
Auto-Submit: Sergey Grekhov <sgrekhov22@gmail.com>
2026-04-24 04:29:49 -07:00
Jens Johansen b40dc30686 [CFE] Correct offsets in some expression tests
Change-Id: If0091e6697ee74c7768c1b3812173112b565c13a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497640
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-04-24 01:08:50 -07:00
Chloe Stefantsova ea27e31456 [cfe] Use intermediate internal nodes in redirecting factory inference
To infer the type arguments of a redirecting factory redirection,
intermediate positional and named arguments are created for the RHS of
the redirection as if for an invocation. The references to the
positional and named parameters in those arguments should be wrapped
into `InternalPositionalParameter` and `InternalNamedParameter`, since
the inference expects internal nodes and otherwise crashes.

Part of https://github.com/dart-lang/sdk/issues/61571

Change-Id: I469f5f2a67aca15df0d4449c8f5a55216e204e22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/493400
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-04-24 01:05:55 -07:00
Modestas Valauskas e20b492000 [analyzer] Fold AdjacentStrings via StringBuffer.
`ConstantVisitor.visitAdjacentStrings` previously delegated to
`_concatenateNodes`, which folds the list pairwise and materializes
a new `DartObjectImpl` / `StringState` at every step. For an
`AdjacentStrings` with `n` string pieces of total length `L`, this
is roughly O(L^2) work and garbage.

This is pathological on generated code: parser generators and other
codegen tools commonly emit a single large string constant as a long
sequence of adjacent string literals (e.g. encoded transition tables
for a table-driven parser). In those files, constant evaluation of
a single top-level `const` dominates analyzer runtime.

Fast-path `visitAdjacentStrings`: when every element evaluates to a
plain `StringState`, append into one `StringBuffer` and return a
single final `DartObjectImpl`. Fall back to the existing
`_concatenateNodes` path only when an element is not a plain string
(diagnostic, unknown, etc.).

Wall-clock time to resolve a library containing one `const table =`
of N adjacent 16-char string pieces, on an Apple M-series laptop
with a recent main-channel SDK:

  pieces  total_chars  baseline_ms  patched_ms  speedup
    1024        16384         218         222     ~1x
    4096        65536         180         189     ~1x
   16384       262144         245         166     ~1.5x
   65536      1048576        9229         246     ~37x

At larger sizes the baseline grows quadratically while the patched
path stays linear; n=262144 took multiple minutes on the baseline
and roughly half a second after the patch.

TEST=pkg/analyzer/test/src/dart/constant/evaluation_test.dart:test_visitAdjacentInterpolation_simple

Bug: https://github.com/dart-lang/sdk/issues/63222
Change-Id: Ibffe4124d025fceb5991ea88b4af9a03f36525b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497001
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-04-24 00:53:43 -07:00
Srujan Gaddam e7dbd6ba48 [dart:js_interop] Make JSFunction and JSExportedDartFunction generic
Fixes https://github.com/dart-lang/sdk/issues/54557

The generic type in JSExportedDartFunction corresponds to the
static type of the function it wrapped, whereas for JSFunction,
it's purely a descriptor of the JS function.

When calling JSExportedDartFunction, a cast is now introduced
to cast it to T.

When calling isA, the type in JSExportedDartFunction is passed
along to check that the value that is wrapped is that function
type. Because the T in JSFunction is descriptive, e.g.
isA<JSFunction<int Function()>>() does no such check.

____

Also cleans up:

- isA<JSTypedArray>() logic to use intrinsic functions
- some expectation files to be consistent for both dart2js and ddc.

CoreLibraryReviewExempt: Backend-specific library with needed reviews.
Change-Id: I1a55c4386e416fa4ccabe06ac5051f41c2e2e95a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/496820
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2026-04-23 20:55:26 -07:00
Sigmund Cherem 7a83d5f967 [dyn_modules,cfe] Accept allowlist of selectors for dynamic calls.
This change extends the dynamic-modules-validator in the CFE to
accept an allowlist of dynamic call selectors.

Calls to selectors in such allowlist are accepted and shouldn't
report validation errors, even if the dynamic interface contains no
exposed members with that selector name. The goal is to eventually
use this allowlist to enable dynamic calls within dynamic modules,
where the target of the call is defined in bytecode.

At this time, we only support public selector names in the allow
list.

TEST=pkg/front_end/testcases/general/dynamic_modules/main.dart
BUG=b/448095881

Change-Id: I94850781f235f8b3fd3cbd9b167302f79f5020b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/496782
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2026-04-23 18:34:38 -07:00
Sam Rawlins d8cfa31e03 analyzer: Fix unused parameter warning w.r.t. annotation invocation
Fixes https://github.com/dart-lang/sdk/issues/63229

Change-Id: Ib49d9d9cf251533be1a70053c933b53dac59ca91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497720
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2026-04-23 13:29:25 -07:00
Jessy Yameogo a909051679 [dwds][dwds_test_common] Migrate package to the SDK repository
This CL migrates the `dwds` and `dwds_test_common` packages into the Dart SDK
repository.

Key Changes:
- Monorepo Compliance: Updated the pubspecs to align with the SDK pub workspace setup.
- Excluded `pkg/dwds_test_common/fixtures/` from `package_deps.dart`.
- Updated pkg to status to skip `dwds/test/integration/*` & `dwds_test_common/fixtures/*` until DWDS migration is complete.
- Remove package `build_daemon` from DWDS' `pubspec.yaml` as it's not approved for SDK env.
- Added `@skip_package_deps_validation` to the following files to ignore import checks for package:build_daemon: `server.dart`, `utilities.dart`, `context.dart`.
- Created `pkg/dwds/lib/src/utilities/test_path_utils.dart` to fix path resolution failures in tests (ie. `build_script_test.dart` and `ensure_version_test.dart`).

Testing:
- All tests passing locally.
- CI try bots are green.

Design Doc: http://goto.google.com/migrating-webdev and http://goto.google.com/migrating-dwds

Fixes https://github.com/dart-lang/sdk/issues/62100
Fixes https://github.com/dart-lang/sdk/issues/62101
Fixes https://github.com/dart-lang/sdk/issues/62102
Fixes https://github.com/dart-lang/sdk/issues/62103

Cq-Include-Trybots: luci.dart.try:pkg-win-release-try,pkg-win-release-arm64-try,pkg-mac-release-try,pkg-mac-release-arm64-try,pkg-linux-release-try,pkg-linux-release-arm64-try,pkg-linux-debug-try

Change-Id: I6130be8b7e0b42fbbf81b26a4950a2c4282e3a48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/494660
Commit-Queue: Jessy Yameogo <yjessy@google.com>
Reviewed-by: Nate Biggs <natebiggs@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2026-04-23 13:18:18 -07:00
Jessy Yameogo e1d687cb9e [dwds][dwds_test_common] Base copy of DWDS and DWDS_TEST_COMMON from webdev@e43744b235531f409ab5e2f1271178943569697a
This CL migrates the `dwds` and `dwds_test_common` packages into the Dart SDK
repository.

Key Changes:
- Migration: Moved source code and tests into `pkg/dwds` & `pkg/dwds_test_common`.
- Linting and path resolution were updated in https://github.com/dart-lang/webdev/pull/2797, https://github.com/dart-lang/webdev/pull/2798 & https://github.com/dart-lang/webdev/pull/2799 to support both environments (webdev and sdk).


Testing:
- All tests passing locally.
- CI try bots are green.

Design Doc: http://goto.google.com/migrating-webdev and http://goto.google.com/migrating-dwds

Fixes https://github.com/dart-lang/sdk/issues/62100
Fixes https://github.com/dart-lang/sdk/issues/62101
Fixes https://github.com/dart-lang/sdk/issues/62102
Fixes https://github.com/dart-lang/sdk/issues/62103

Cq-Include-Trybots: luci.dart.try:pkg-win-release-try,pkg-win-release-arm64-try,pkg-mac-release-try,pkg-mac-release-arm64-try,pkg-linux-release-try,pkg-linux-release-arm64-try,pkg-linux-debug-try
Change-Id: Icc2bf9a86efb79d04a67053962a4548fe6e894f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/494640
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nate Biggs <natebiggs@google.com>
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
2026-04-23 13:18:18 -07:00
Brian Wilkerson 7b6119f636 Improve the documentation for new lints.
This is in response to tech writer review.

Change-Id: I0126a42733dc07b9f3a1a54ea7b20af959ac10f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497460
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2026-04-23 10:58:39 -07:00
Brian Wilkerson 42966152d1 Add a test of deprecated_member_use for primary constructors
I discovered this while ensuring that I could close out one of the
issues. This is the last piece needed for it.

Change-Id: I6f64c9d57832dade8f34afc52102eb401fa33ecd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497420
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
2026-04-23 10:42:21 -07:00
Sam Rawlins 0abe294f46 Build devtools with a Python script, rather than Dart
I could not get the Dart script to successfully run from GN, and I
also could not find examples of the same. Everything is Python, so
Python it is.

Change-Id: I767aaf42d1584ae331d028ef073a534e5d36b77b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/496402
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2026-04-23 08:57:21 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com 6af0f89dfc Roll gn from a7ad13b5c256 to e2f38fa47b6a
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/gn-dart-sdk
Please CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in gn: https://bugs.chromium.org/p/gn/issues/list
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try;luci.dart.try:dart-sdk-linux-arm64-try;luci.dart.try:dart-sdk-mac-try;luci.dart.try:dart-sdk-mac-arm64-try;luci.dart.try:dart-sdk-win-try
Change-Id: I15c45cf0775af5afed88973d17b8dd4ffc871933
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497520
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-04-23 08:09:12 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com ef261e1f28 Roll BoringSSL from 2382739958b6 to 7954718d7735 (12 revisions)
https://boringssl.googlesource.com/boringssl.git/+log/2382739958b6..7954718d7735

2026-04-22 davidben@google.com Check for PMULL in gcm_sha3_capable
2026-04-22 davidben@google.com Document some historical mistakes in HandshakeHints tagging
2026-04-22 davidben@google.com Check hashes when parsing test-only, semi-expand ML-KEM private keys
2026-04-22 davidben@google.com Update style guide to reflect C++ usage
2026-04-22 xfding@google.com rust: bssl-tls: Cope with upstream type inference regression
2026-04-22 rpolzer@google.com Split MLKEM's scalar_*code functions into compile-time alternatives by bit size.
2026-04-22 xfding@google.com rust: bssl-tls: Safe abstraction of a partially filled buffer
2026-04-22 davidben@google.com Clarify that the old PSK API is just about TLS 1.2 PSKs
2026-04-22 xfding@google.com rust: bssl-tls: Keep CertificateCache live
2026-04-22 davidben@google.com Remove check_imported_libraries.go script
2026-04-22 chlily@google.com Update reference for X-Wing to a more recent draft
2026-04-22 rpolzer@google.com Unroll the ML-KEM NTT outer loops.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/boringssl-dart-sdk
Please CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in BoringSSL: https://crbug.com/boringssl/new
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: dart-vm-gardener@rotations.google.com
Change-Id: I619c9a3ad3167239984a4dffb7340f60f35f46e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497480
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-04-23 08:09:04 -07:00
Erik Ernst 37e30dd4c5 Add anonymous => method coverage tests.
This CL adds several CFE coverage tests and removes all 'Not run.'
coverage comments added in CL 494440 except one in
`AnonymousMethodExpression.toTextInternal` (I assume this is only
invoked in debugging code) and one immediately before `throw
UnimplementedError...`.

Change-Id: I578be895d59d6487aa981ea5a44519a1cce7b78b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497200
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-04-23 04:56:44 -07:00
Chloe Stefantsova d35440102a [cfe] Don't create old variables when the experiment is enabled
Part of https://github.com/dart-lang/sdk/issues/61572

Change-Id: I13f0e7f54417d936c8b4e3240049427d0218328f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497240
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-04-23 02:02:38 -07:00
Jonas Finnemann Jensen 8033b3cf99 Don't send crash data when dart:io is unavailable.
This is mostly relevant when compiling the compiler with dart2wasm to
run it in the browser.

Change-Id: Iceffe015593eb598e97d02fc3aa9e349f5d41dbe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497243
Commit-Queue: Jonas Jensen <jonasfj@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Jonas Jensen <jonasfj@google.com>
2026-04-23 00:25:15 -07:00
Simon Binder 0ae4f93e29 [dart2wasm,standalone] Split patch files by whether they use JS interop
This is a re-land of 152cc24, which has been reverted in 3f9ae7. Unlike
the original change, this doesn't alter the `dart:_wasm` library.
We can revisit an API split to remove `js_interop` APIs there once the
standalone target has progressed further.

Original change's description:
> [dart2wasm] Split patch files by whether they use JS interop
>
> The eventual goal of the `dart2wasm_standalone` platform is to not rely
> on a JavaScript environment, which requires rewriting everything that
> currently relies on `js_interop` or `JS()` helpers.
>
> Since most of the patches are still written in Dart and we don't want
> to duplicate that code for the standalone target, this splits patch
> files by whether they rely on JS-interop or not. The main entrypoint
> for each patch (e.g. `lib/_internal/wasm/lib/core_patch.dart`) no
> longer relies on JS-interop and can safely be used in the standalone
> target. Part files that previously needed to use JS-interop have been
> moved into separate patches now, which allows us to migrate them
> incrementally.
>
> In some cases, it was easier to add new patch files:
>
> - Similar to the split between `boxed_int` and the `toString` helper
>   patch, we now have the same for `boxed_double`.
> - The functionality to copy from JS typed data wrappers into Dart typed
>   lists wouldn't work with standalone, so I've moved it into a separate
>   method we can patch to be a noop.
> - `dart:_wasm` exposes APIs to convert between `JSAny` and `externref`.
>   This is part of a public API, but I had to move those declarations
>   into a patch file because they wouldn't work with standalone.
>   Arguably, a separate library (`dart:_wasm_js_interop`?) would be
>   cleaner but it might be fine as long as `dart:_wasm` is experimental?
>
> For now, new patch files relying on JS interop are also applied to the
> standalone target. They are marked with a comment indicating that they
> need to be migrated though.

Cq-Include-Trybots: luci.dart.try:flutter-analyze-try
Change-Id: I98a628f96cba7e0f0af7e86e058cda43c2c73898
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/495302
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
2026-04-22 23:54:32 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com f903ada2a8 Roll BoringSSL from 657052c5d909 to 2382739958b6 (36 revisions)
https://boringssl.googlesource.com/boringssl.git/+log/657052c5d909..2382739958b6

2026-04-21 davidben@google.com Disable check_imported_libraries check on CI
2026-04-21 dimitri.ledkov@surgut.co.uk Link to CMVP certificate for 20240805
2026-04-21 rpolzer@google.com ML-KEM benchmarks: add per-operation microbenchmarks.
2026-04-21 davidben@google.com Add a value barrier to EVP_sha256_final_with_secret_suffix too
2026-04-21 davidben@google.com Add unit tests for EVP_aead_aes_128_cbc_sha256_tls
2026-04-21 davidben@google.com docs/references: Use the newer RFC for ChaCha20-Poly1305
2026-04-20 chlily@google.com Add some missing #includes
2026-04-20 davidben@google.com Remove an unused label and dead code from chacha20_poly1305_armv8.pl
2026-04-20 chlily@google.com Rust: fix a missing import
2026-04-20 Ladsgroup@gmail.com anyExtendeKeyUsage -> anyExtendedKeyUsage
2026-04-20 Ladsgroup@gmail.com Fix typos
2026-04-20 rrangel@google.com rust: bssl-macros: Add Apache-2.0 license
2026-04-18 davidben@google.com Clear unused bits in ASN1_STRING_set/set0
2026-04-18 davidben@google.com delocate: Support three-argument .prefalign
2026-04-18 davidben@google.com Add ASN1_BIT_STRING_set1
2026-04-18 davidben@google.com Add ASN1_BIT_STRING_unused_bits and deprecate ASN1_BIT_STRING_num_bytes
2026-04-18 davidben@google.com Remove ASN1_BIT_STRING implicit truncation
2026-04-17 davidben@google.com Explicitly trim strings in ASN1_BIT_STRING_set_bit
2026-04-17 chlily@google.com Correct a comment in serializing a CBS_ASN1_BITSTRING
2026-04-17 rrangel@google.com rust: bssl-crypto: fix clippy errors
2026-04-17 xfding@google.com rust: bssl-tls: Give an option to disable session controls
2026-04-17 xfding@google.com rust: bssl-tls: More TLS context protocol controls
2026-04-17 xfding@google.com Drop the irrelevant tests from other CLs
2026-04-17 xfding@google.com rust: bssl-tls: Split TlsMode
2026-04-17 xfding@google.com rust: bssl-tls: Introduce preshared key support
2026-04-17 xfding@google.com rust: bssl-tls: Introduce connection builder
2026-04-17 davidben@google.com Update SSL_CTX_set0_buffer_pool reflecting CRYPTO_BUFFER_POOL changes
2026-04-17 davidben@google.com Run the GeneralNames parser through trailing data tests
2026-04-17 minhalemail@gmail.com Fix wrong parser variable in directoryName trailing data check
2026-04-17 davidben@google.com bio->method cannot be null
2026-04-17 davidben@google.com Don't use both bio and impl in the same function
2026-04-17 davidben@google.com Remove some stray OPENSSL_EXPORTS in a .cc file
2026-04-17 xfding@google.com rust: bssl-tls: adopt Linux kernel Rust import style
2026-04-17 davidben@google.com Fix BIO_find_type with BIO chains
2026-04-17 rpolzer@google.com Minor optimizations to MLKEM: marking some internal functions inline.
2026-04-17 davidben@google.com Remove OPENSSL_EXPORT from some internal libssl functions

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/boringssl-dart-sdk
Please CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in BoringSSL: https://crbug.com/boringssl/new
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: dart-vm-gardener@rotations.google.com
Change-Id: I9c8ebcabc9e695b5d3b516334caacd268a98dcd2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497127
Commit-Queue: Brian Quinlan <bquinlan@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: Brian Quinlan <bquinlan@google.com>
2026-04-22 16:24:44 -07:00