blob: 2a6c7f422ed9a006c5ededc6d3789301907f80ec [file] [log] [blame]
// 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.
/*class: A:checkedTypeArgument,checks=[],typeArgument*/
class A<T> {}
/*class: B:checkedInstance*/
class B<T> {}
/*class: C:checks=[],indirectInstance*/
class C<T> {}
/*class: D:checks=[$asB,$isB],instance*/
class D<T> extends C<T> implements B<A<T>> {}
@pragma('dart2js:noInline')
test(o) => o is B<A<String>>;
main() {
test(new D<String>());
test(new D<int>());
}