// Copyright (c) 2013, 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. import "package:expect/expect.dart"; class A { T field; } class B { T field = 42 as dynamic; } main() { var a = new A(); dynamic s = "string"; // This assignment is OK. a.field = s; dynamic i = 42; Expect.throwsTypeError(() => a.field = i); // Throws because the field initializer fails the implicit cast. Expect.throwsTypeError(() => new B()); // Throws because the assigned value fails the implicit cast. var b = new B(); Expect.throwsTypeError(() => b.field = s); }