3b67681bcc
Change-Id: Ife85aafa90b1b0347fabb6e95f3d6c00c5307cd2 Bug: https://github.com/dart-lang/sdk/issues/42063 Fixes: https://github.com/dart-lang/sdk/issues/42063 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152440 Reviewed-by: Joshua Litt <joshualitt@google.com> Commit-Queue: Mayank Patke <fishythefish@google.com>
27 lines
848 B
Dart
27 lines
848 B
Dart
// Copyright (c) 2018, 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.
|
|
|
|
// @dart = 2.7
|
|
|
|
/*spec.class: Class:direct,explicit=[Class.T*],implicit=[Class.T],needsArgs*/
|
|
/*prod.class: Class:needsArgs*/
|
|
class Class<T> {
|
|
method() {
|
|
var list = <T>[];
|
|
// With the `is dynamic Function(Object)` test in the async implementation
|
|
// the closure, with type `dynamic Function(T)`, needs its signature,
|
|
// requiring the need for type arguments on `Class`.
|
|
//
|
|
// This happens because the closure is thought as possibly going to the
|
|
// async.errorHandler callback.
|
|
list.forEach(
|
|
/*needsSignature*/
|
|
(x) => print(x));
|
|
}
|
|
}
|
|
|
|
main() async {
|
|
new Class<int>().method();
|
|
}
|