dart-sdk/tests/language/regress/regress14014_3_test.dart
Robert Nystrom 67539c2faf Migrate language_2/regress to NNBD.
Change-Id: I318742cd4303d70c0625c9efd98bb01087aa5de4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150466
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2020-06-13 01:00:22 +00:00

25 lines
623 B
Dart

// Copyright (c) 2013, 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.
// Test that an is check on a function type involving type parameters
// does not crash dart2js, when the is test is in the initializer list
// of a constructor.
class A<T> {
var f;
A(this.f);
}
typedef foo<T>(T a);
class B<T> extends A<T> {
B({required void f(T foo)}) : super(() => f is foo<T>);
}
main() {
var t = new B<int>(f: (int a) => 42);
if (!t.f()) {
throw 'Test failed';
}
}