// Copyright (c) 2015, 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. // Requirements=nnbd-strong // Check that passing `null` for a boolean typed parameter will still cause // a boolean conversion error when used in a condition. import 'package:expect/expect.dart'; @pragma('dart2js:noInline') String check({bool? a, bool? b}) { String aString = (a as dynamic) ? 'a' : ''; String bString = (b as dynamic) ? 'b' : ''; return '$aString$bString'; } class Class { final String field; Class({bool? a: false, bool? b: true}) : this.field = check(a: a, b: b); } main() { Expect.throwsTypeError(() => new Class(a: null, b: null).field); }