floitsch@google.com | 48b1656 | 2013-06-24 12:45:10 +0000 | [diff] [blame] | 1 | // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 | // for details. All rights reserved. Use of this source code is governed by a |
| 3 | // BSD-style license that can be found in the LICENSE file. |
| 4 | |
| 5 | import "package:expect/expect.dart"; |
| 6 | |
Jacob Richman | 2dcd56e | 2017-04-17 14:52:57 -0700 | [diff] [blame] | 7 | class A { |
| 8 | const A(); |
| 9 | } |
| 10 | |
| 11 | class B extends A { |
| 12 | const B(); |
| 13 | } |
floitsch@google.com | 48b1656 | 2013-06-24 12:45:10 +0000 | [diff] [blame] | 14 | |
| 15 | main() { |
| 16 | var set1 = new Set<B>(); |
| 17 | set1.add(const B()); |
| 18 | var set2 = new Set<B>(); |
Jacob Richman | 2dcd56e | 2017-04-17 14:52:57 -0700 | [diff] [blame] | 19 | var list = <B>[const B()]; |
floitsch@google.com | 48b1656 | 2013-06-24 12:45:10 +0000 | [diff] [blame] | 20 | var set3 = list.toSet(); |
| 21 | |
| 22 | var sets = [set1, set2, set3]; |
| 23 | for (var setToTest in sets) { |
| 24 | // Test that the set accepts a list that is not of the same type: |
| 25 | // Set<B>.retainAll(List<A>) |
| 26 | setToTest.retainAll(<A>[new A()]); |
| 27 | } |
| 28 | } |