blob: edf937cebb0c5dc84a07caedae66ee290d3efb1b [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() {}