OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 import "package:expect/expect.dart"; | |
6 | |
7 class A { | |
8 const factory A() = B; | |
9 } | |
10 | |
11 class B implements A { | |
12 const B(); | |
13 | |
14 operator ==(o) => true; /// 00: compile-time error | |
15 } | |
16 | |
17 confuse(x) { | |
18 if (new DateTime.now() == 42) return confuse(2); | |
19 return x; | |
20 } | |
21 | |
22 main() { | |
23 // It is a compile-time error if the key overrides operator ==. | |
karlklose
2014/03/03 08:58:45
'key' -> 'key type'.
floitsch
2014/03/03 09:52:32
Done.
| |
24 var m = const { const A(): 42 }; | |
25 Expect.equals(42, m[confuse(const B())]); | |
26 | |
27 m = const { "foo": 99, const A(): 499 }; | |
28 Expect.equals(499, m[confuse(const B())]); | |
29 } | |
OLD | NEW |