OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'package:expect/expect.dart'; | 5 import 'package:expect/expect.dart'; |
6 | 6 |
7 class Super<T extends num> {} | 7 class Super<T extends num> {} |
8 class Malbounded1 implements Super<String> {} // /// 01: static type warning, dy
namic type error | 8 class Malbounded1 implements Super<String> {} // //# 01: static type warning, dy
namic type error |
9 class Malbounded1 implements Super<String> {} // /// 02: static type warning | 9 class Malbounded1 implements Super<String> {} // //# 02: static type warning |
10 class Malbounded2 extends Super<String> {} // /// 03: static type warning, dynam
ic type error | 10 class Malbounded2 extends Super<String> {} // //# 03: static type warning, dynam
ic type error |
11 | 11 |
12 main() { | 12 main() { |
13 var m = new Malbounded1(); // /// 01: continued | 13 var m = new Malbounded1(); // //# 01: continued |
14 Expect.isFalse(m is Super<int>); // /// 01: continued | 14 Expect.isFalse(m is Super<int>); // //# 01: continued |
15 var s = new Super<int>(); | 15 var s = new Super<int>(); |
16 Expect.isFalse(s is Malbounded1); // /// 02: continued | 16 Expect.isFalse(s is Malbounded1); // //# 02: continued |
17 Expect.isFalse(s is Malbounded2); // /// 03: continued | 17 Expect.isFalse(s is Malbounded2); // //# 03: continued |
18 Expect.isFalse(s is Super<String>); // /// 04: static type warning, dynamic ty
pe error | 18 Expect.isFalse(s is Super<String>); // //# 04: static type warning, dynamic ty
pe error |
19 } | 19 } |
OLD | NEW |