// 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. // Dart test program for constructors and initializers. // Check function subtyping casts. import 'package:expect/expect.dart'; typedef void Foo(T t); typedef void Bar(int i); class Class { void bar(T i) {} } void main() { Expect.isNotNull(new Class().bar as Foo); Expect.isNotNull(new Class().bar as Foo); Expect.isNotNull(new Class().bar as Foo); Expect.isNotNull(new Class().bar as Bar); Expect.isNotNull(new Class().bar as Foo); Expect.throws(() => new Class().bar as Foo, (e) => true); Expect.isNotNull(new Class().bar as Foo); Expect.isNotNull(new Class().bar as Bar); Expect.isNotNull(new Class().bar as Foo); Expect.isNotNull(new Class().bar as Foo); Expect.throws(() => new Class().bar as Foo, (e) => true); Expect.throws(() => new Class().bar as Bar, (e) => true); }