Files
sdk/pkg/front_end/testcases/nnbd/issue40600.dart
T
Johnni Winther 62f84880ef [cfe] Report error on missing return from non-nullable function
Closes #40520
Closes #40948
Closes #40425

Change-Id: I0aa3cfa51b410c90dd0bea963846eeb6b2e73efb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140540
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2020-03-24 08:21:36 +00:00

31 lines
650 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.
// This is a regression test for http://dartbug.com/40600.
import 'dart:async';
class B<Y> {
bar(FutureOr<Y> y) {}
}
class A<X> {
final b = new B<X>();
foo([FutureOr<X>? x]) {
if (x is Future<X>) {
b.bar(x as FutureOr<X>);
}
}
}
class C<T> {
FutureOr<T> baz<X extends FutureOr<T>>(FutureOr<T> x) => x;
}
class D<T> extends C<T> {
FutureOr<T> baz<X extends FutureOr<T>>(FutureOr<T> x) => x;
}
main() {}