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