blob: 7cb92d9b13d225950ea1b091547c17b4af445833 [file] [log] [blame]
// Copyright (c) 2017, 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
// Fuzzy arrows will be eliminated from Dart 2.0 soon. This test checks that
// implementations have properly removed fuzzy arrow support, both at compile
// time and at run time. See dartbug.com/29630 for a detailed explanation.
import "package:expect/expect.dart";
typedef DynamicToDynamic(x);
typedef NullToDynamic(Null x);
num numToNum(num x) => null;
main() {
DynamicToDynamic x = numToNum; //# 01: compile-time error
NullToDynamic x = numToNum; //# 02: ok
Expect.isFalse(numToNum is DynamicToDynamic); //# 03: ok
Expect.isTrue(numToNum is NullToDynamic); //# 04: ok
}