Files
sdk/tests/language/patterns/switch_case_scope_error_test.dart
T
Sergey G. Grekhov 82b78916fd [tests] Remove obsolete Dart 3.0 experiments from language tests
Change-Id: If31c487e3ebe2c1ae847aff7c8994580b8b6f2f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/309660
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-06-15 08:26:27 +00:00

30 lines
883 B
Dart

// Copyright (c) 2022, 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.
main() {
var local = 'local';
// If cases sharing a body don't agree on a variable's finality, it is still
// considered in scope and an error to use.
switch ('value') {
case final int local when false: // Guard to make the next case reachable.
case int local:
print(local);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}
// If cases sharing a body don't agree on a variable's type, it is still
// considered in scope and an error to use.
switch ('value') {
case bool local:
case int local:
print(local);
// ^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}
}