Chromium Code Reviews| 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 |