Skip to content

Commit 1278bd5

Browse files
committed
Version 2.15.1
* Cherry-pick e12a81d to stable * Cherry-pick 1777f76 to stable * Cherry-pick d2da75a to stable
2 parents 3d2629c + 65dca55 commit 1278bd5

File tree

7 files changed

+71
-4
lines changed

7 files changed

+71
-4
lines changed

CHANGELOG.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
1-
## 2.15.0
1+
## 2.15.1 - 2021-12-14
2+
3+
This is a patch release that fixes:
4+
5+
- an AOT compilation failure in some Flutter apps (issue [#47878][]).
6+
- `dart pub publish` for servers with a path in the URL (pr
7+
[dart-lang/pub#3244][]).
8+
9+
[#47878]: https://github.com/dart-lang/sdk/issues/47878
10+
[dart-lang/pub#3244]: https://github.com/dart-lang/pub/pull/3244
11+
12+
## 2.15.0 - 2021-12-08
213

314
### Language
415

DEPS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ vars = {
139139
"pool_rev": "7abe634002a1ba8a0928eded086062f1307ccfae",
140140
"process_rev": "56ece43b53b64c63ae51ec184b76bd5360c28d0b",
141141
"protobuf_rev": "c1eb6cb51af39ccbaa1a8e19349546586a5c8e31",
142-
"pub_rev": "96404e0749864c9fbf8b12e1d424e8078809e00a",
142+
"pub_rev": "b9edfa5e288ea3d1a57d1db054ef844ae7b27d99",
143143
"pub_semver_rev": "a43ad72fb6b7869607581b5fedcb186d1e74276a",
144144
"root_certificates_rev": "692f6d6488af68e0121317a9c2c9eb393eb0ee50",
145145
"rust_revision": "b7856f695d65a8ebc846754f97d15814bcb1c244",

pkg/kernel/lib/ast.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11888,7 +11888,9 @@ class TypeParameterType extends DartType {
1188811888
v.visitTypeParameterType(this, arg);
1188911889

1189011890
@override
11891-
void visitChildren(Visitor v) {}
11891+
void visitChildren(Visitor v) {
11892+
promotedBound?.accept(v);
11893+
}
1189211894

1189311895
@override
1189411896
bool operator ==(Object other) => equals(other, null);

pkg/vm/lib/transformations/type_flow/transformer.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -985,6 +985,7 @@ class _TreeShakerTypeVisitor extends RecursiveVisitor {
985985
if (parent is Class) {
986986
shaker.addClassUsedInType(parent);
987987
}
988+
node.visitChildren(this);
988989
}
989990
}
990991

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
2+
// for details. All rights reserved. Use of this source code is governed by a
3+
// BSD-style license that can be found in the LICENSE file.
4+
5+
// Regression test for https://github.com/dart-lang/sdk/issues/47878
6+
7+
abstract class Disposable {}
8+
9+
class A {}
10+
11+
class Data<T> {
12+
T? value;
13+
}
14+
15+
class DataStream<T> {
16+
DataStream({newValue, Data<T>? stream}) {
17+
var lastValue = stream!.value;
18+
19+
if (lastValue != null &&
20+
lastValue is Disposable &&
21+
lastValue != newValue) {}
22+
}
23+
}
24+
25+
void main() {
26+
DataStream<A>();
27+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
library #lib /*isNonNullableByDefault*/;
2+
import self as self;
3+
import "dart:core" as core;
4+
5+
abstract class Disposable extends core::Object {
6+
}
7+
abstract class A extends core::Object {
8+
}
9+
abstract class Data<T extends core::Object? = dynamic> extends core::Object {
10+
}
11+
class DataStream<T extends core::Object? = dynamic> extends core::Object {
12+
constructor •() → self::DataStream<self::DataStream::T%>
13+
: super core::Object::•() {
14+
self::DataStream::T? lastValue = block {
15+
#C1!;
16+
} =>throw "Attempt to execute code removed by Dart AOT compiler (TFA)";
17+
if(!(throw "Attempt to execute code removed by Dart AOT compiler (TFA)") && false && !([@vm.inferred-type.metadata=dart.core::bool (skip check) (receiver not int)] lastValue{self::DataStream::T & self::Disposable /* '!' & '!' = '!' */} =={core::Object::==}{(core::Object) → core::bool} #C1)) {
18+
}
19+
}
20+
}
21+
static method main() → void {
22+
new self::DataStream::•<self::A>();
23+
}
24+
constants {
25+
#C1 = null
26+
}

tools/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626
CHANNEL stable
2727
MAJOR 2
2828
MINOR 15
29-
PATCH 0
29+
PATCH 1
3030
PRERELEASE 0
3131
PRERELEASE_PATCH 0

0 commit comments

Comments
 (0)