blob: 407995d2ac30f9b2e50255c271bd4c0e66790cbf [file] [log] [blame]
// Copyright (c) 2018, 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.
/**
* @description Regression test for the issue 33701 (Dart does not throw error
* if function argument parameter extends [Null]).
*
* Finally analyzer behavior was fixed here, so checks that typedef type
* parameter can extend [Never] with nnbd turned on.
*
* @Issue 33701
* @author iarkh@unipro.ru
*/
typedef F1<X extends Never> = X Function();
typedef F2<X extends Never> = void Function(X);
typedef F3<X extends Never> = X Function(X);
typedef F4<X extends Never> = void Function();
typedef F5<X extends Never> = void Function<X1 extends X>();
typedef F6<X extends Never> = X Function<X1 extends X>(X);
typedef F7<X extends Never> = void Function<X1 extends X>(X);
typedef F8<X extends Never> = void Function<X1 extends Null>(X);
main() {}