blob: e582922985181ac0d6b3f50e5df94a348f4570f2 [file] [log] [blame]
// Copyright (c) 2011, 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.
/// @assertion Likewise, if a type annotation is omitted on a formal parameter
/// in typedef declaration, it is taken to be dynamic.
/// @description Checks that function types with various types of formal
/// parameter are subtypes of given type t1 whose declaration omits parameter
/// types, therefore the type of formal parameter of t1 should be dynamic.
/// @author iefremov, sgrekhov@unipro.ru
import '../../../Utils/expect.dart';
typedef F1(x);
typedef Func();
typedef Func2(int x);
main() {
Expect.isTrue((int) {} is F1);
Expect.isTrue((Object) {} is F1);
Expect.isTrue((Func) {} is F1);
Expect.isTrue((Func2) {} is F1);
Expect.runtimeIsType<F1>((int) {});
Expect.runtimeIsType<F1>((Object) {});
Expect.runtimeIsType<F1>((Func) {});
Expect.runtimeIsType<F1>((Func2) {});
}