| // Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| // @dart=2.9 |
| class NumField { |
| num field; |
| } |
| |
| class IntField { |
| int field; |
| } |
| |
| class DoubleField { |
| double field; |
| } |
| |
| main() { |
| IntField intField1 = new IntField(); |
| IntField intField2 = new IntField(); |
| NumField numField = new NumField(); |
| DoubleField doubleField = new DoubleField(); |
| |
| intField1.field = intField2.field = numField.field; |
| intField1.field = numField.field = intField2.field; |
| try { |
| numField.field = 0.5; |
| intField1.field = doubleField.field = numField.field; |
| throw 'Should fail'; |
| } catch (_) {} |
| } |