 // 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.

/// @description Regression test for the issue 32903 (Dartanalyzer 2.0
/// incorrectly throws [type_argument_not_matching_bounds] error for
/// super-bounded types in preview-dart-2 mode): check test case from the bug
/// description.
/// @Issue 32903
/// @author iarkh@unipro.ru


class C<X extends C<X>> {}
class D extends C<D> {}

main() {
 C<dynamic> c = new D();
}
