OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 // This test checks for a regression found in Dart Editor: the | 5 // This test checks for a regression found in Dart Editor: the |
6 // analyzer was treating [Type] as more specific than any type | 6 // analyzer was treating [Type] as more specific than any type |
7 // variable (generic parameter). | 7 // variable (generic parameter). |
8 // | 8 // |
9 // https://code.google.com/p/dart/issues/detail?id=18628 | 9 // https://code.google.com/p/dart/issues/detail?id=18628 |
10 | 10 |
11 class X<T extends Type> {} | 11 class X<T extends Type> {} |
12 | 12 |
13 // This line is supposed to cause the warning; the other lines are | 13 // This line is supposed to cause the warning; the other lines are |
14 // marked because they don't make sense when [Y] is not defined. | 14 // marked because they don't make sense when [Y] is not defined. |
15 class Y<U> extends X<U> {} /// 01: static type warning | 15 class Y<U> extends X<U> {} //# 01: static type warning |
16 | 16 |
17 main() { | 17 main() { |
18 X<Type> x = new X<Type>(); /// 01: static type warning | 18 X<Type> x = new X<Type>(); //# 01: static type warning |
19 Y<Type> y = new Y<Type>(); /// 01: static type warning | 19 Y<Type> y = new Y<Type>(); //# 01: static type warning |
20 } | 20 } |
OLD | NEW |