blob: cd691479c064c149bc3fb5380286fe94bfcc2e43 [file] [log] [blame]
// Copyright (c) 2017, 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.
/*@testedFeatures=checks*/
library test;
class B<T> {
void f(T /*@covariance=genericInterface, genericImpl*/ x) {}
void g({T /*@covariance=genericInterface, genericImpl*/ x}) {}
void h< /*@covariance=genericInterface, genericImpl*/ U extends T>() {}
}
class /*@forwardingStub=abstract void f(covariance=(genericImpl) int x)*/
/*@forwardingStub=abstract void h<covariance=(genericImpl) U extends int>()*/
/*@forwardingStub=abstract void g({covariance=(genericImpl) int x})*/
C extends B<int> {}
void g1(B<num> b) {
b.f(1.5);
}
void g2(C c) {
c.f(1);
}
void test() {
g1(new C());
}
void main() {}