blob: bbaac15419fa9a29fa3ea0aeed4069971a404555 [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.
import 'package:meta/dart2js.dart';
/*class: A:checkedInstance,checks=[]*/
class A<T> {}
/*class: B:checks=[$asA],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
@noInline
test(o) => o is A<String>;
main() {
test(new C<int, String>());
test(new B<String, int>());
}