blob: 29f3ee2f749a1be84ec8e4a1faeffd96f6e45007 [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.
// This test checks that covariant occurrences of mutually dependent type
// variables in the bounds of all of these type variables are replaced with
// `dynamic`, in case when the raw type is used as a type argument of a list or
// a map literal.
class B<X, Y> {}
class C<X, Y> {}
class D<X extends B<X, Y>, Y extends C<X, Y>> {}
var ld = <D>[];
var md = <D, D>{};
class E<X extends B<X, Y>, Y extends X Function()> {}
var le = <E>[];
var me = <E, E>{};
class F<X extends X Function()> {}
var lf = <F>[];
var mf = <F, F>{};
main() {}