/*
 * Copyright (c) 2019, 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.
 */
/**
 * @assertion The [??] operator only evaluates its second operand if the first
 * evaluates to [null], and the second operand must be a potentially constant
 * expression.
 * @description Checks that operator [??] throws a error if the first operand is
 * not [null] and the second one is not a potentially constant.
 * @author iarkh@unipro.ru
 * @issue 43258
 */

dynamic d1 = "12345";
dynamic d2 = 11;
int i = 14;
dynamic d;

const int? const1 = 0;
const String? const2 = "testme";

main() {
  const a1 = const1 ?? d1;
//                     ^^
// [analyzer] unspecified
// [cfe] unspecified

  const a2 = const2 ?? d2;
//                     ^^
// [analyzer] unspecified
// [cfe] unspecified

  const a3 = (14 as int?) ?? i;
//                           ^
// [analyzer] unspecified
// [cfe] unspecified

  const a4 = ("12345" as String?) ?? d;
//                                   ^
// [analyzer] unspecified
// [cfe] unspecified
}
