Files
sdk/pkg/front_end/testcases/nnbd/issue42579_3.dart
T
Dmitry Stefantsov 7831716efd [cfe] Use Object? as top type in NNBD greatest closure algorithm
Closes #42579, #42580.

Bug: https://github.com/dart-lang/sdk/issues/42579
Bug: https://github.com/dart-lang/sdk/issues/42580
Change-Id: I90a519b4d580d139bbccfcefd8553ec68aac71ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156240
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-07-30 15:49:59 +00:00

22 lines
536 B
Dart

// Copyright (c) 2020, 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.
class A<X> {}
class B<Y1, Y2 extends List<Y3>, Y3> extends A<Y1> {
Y1 get y1 => throw "B.y1";
Y2 get y2 => throw "B.y2";
Y3 get y3 => throw "B.y3";
}
foo<Z>(A<List<Z>> Function() f) {}
bar() {
foo(() => B()..y1[0]?.unknown());
foo(() => B()..y2[0]?.unknown());
foo(() => B()..y3?.unknown());
}
main() {}