Files
sdk/tests/language/const/switch2_test.dart
Robert Nystrom 6cc9efe290 Reformat tests/language/c*.
Change-Id: I94dfcea40566190c6bf153c108b0d0d5dbf27a4d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/400148
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Lasse Nielsen <lrn@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2024-12-12 15:50:08 -08:00

25 lines
823 B
Dart

// Copyright (c) 2014, 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.
//
// Tests pre-pattern legacy behavior.
// @dart=2.19
import 'package:expect/expect.dart';
void main() {
var a = [1, 2, 3][2];
switch (a) {
case 0.0:
// ^^^
// [analyzer] COMPILE_TIME_ERROR.CASE_EXPRESSION_TYPE_IMPLEMENTS_EQUALS
// [analyzer] COMPILE_TIME_ERROR.CASE_EXPRESSION_TYPE_IS_NOT_SWITCH_EXPRESSION_SUBTYPE
// [cfe] Case expression '0.0' does not have a primitive operator '=='.
// [cfe] Type 'double' of the case expression is not a subtype of type 'int' of this switch expression.
print("illegal");
break;
case 1:
print("OK");
}
}