blob: 588766f9f19efbf1518186c802ae6e47a4c5707a [file] [log] [blame]
// 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 In a legacy library, none of the new syntax introduced by this
/// proposal is available, and it is a static error if it is used.
///
/// @description Check that it is a static error if NNBD syntax is used in a
/// pre-NNBD legacy library
/// @author sgrekhov@unipro.ru
// @dart=2.6
// Requirements=nnbd-weak
class A {}
class C {
static String? s;
// ^
// [analyzer] unspecified
// [cfe] unspecified
String? v;
// ^
// [analyzer] unspecified
// [cfe] unspecified
int? foo() => 42;
// ^
// [analyzer] unspecified
// [cfe] unspecified
void bar(int? x) {}
// ^
// [analyzer] unspecified
// [cfe] unspecified
}
main() {
A? a = null;
// ^
// [analyzer] unspecified
// [cfe] unspecified
a = (A?) a;
// ^
// [analyzer] unspecified
// [cfe] unspecified
int? i = 42;
// ^
// [analyzer] unspecified
// [cfe] unspecified
int? foo() => 42;
// ^
// [analyzer] unspecified
// [cfe] unspecified
void bar(int? x) {}
// ^
// [analyzer] unspecified
// [cfe] unspecified
}