blob: 1990fe80bd22bf3aa6e28a6b0f77824a05ef2035 [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 updated, so checks that function type
* parameter can extend [Null] with nnbd turned on.
*
* [X] can be [Never], so such function cannot return [null] and exception is
* thrown.
*
* @Issue 33701
* @author iarkh@unipro.ru
*/
void testme1<X extends Null>(X x) {}
X testme2<X extends Null>() => throw "Cannot do it";
X testme3<X extends Null>(X x) => throw "Cannot do it";
void testme4<X extends Null>() {}
main() {}