blob: 8f50450a382037dea142a04d09ece95356776495 [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=[],instance*/
class C<S, T> extends B<S, T> {} // Non-trivial substitution of A
test(o) => o is A<String>;
main() {
test(new C<int, String>());
test(new B<String, int>());