blob: e1f79762060036e849df796948c8384d1e9df8c8 [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.
// @dart = 2.7
/*class: A:checkedInstance,checks=[],indirectInstance*/
class A<T> {}
/*class: B:checks=[],instance*/
class B<S, T> extends A<T> {} // Non-trivial substitution of A.
/*class: C:checks=[$isA],instance*/
class C<T> implements B<T, T> {} // Trivial substitution of A
test(o) => o is A<String>;
main() {
test(new C<String>());
test(new B<String, int>());