library;
//
// Problems in library:
//
// pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
//   for (int i = 0, i > 10; i++) {}
//                   ^
// pkg/front_end/testcases/regress/issue_31184.dart:6:12: Context: Previous declaration of 'i'.
//   for (int i = 0, i > 10; i++) {}
//            ^
//
// pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: Expected ';' after this.
//   for (int i = 0, i > 10; i++) {}
//                   ^
//
// pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: Expected an identifier, but got '>'.
//   for (int i = 0, i > 10; i++) {}
//                     ^
//
import self as self;
import "dart:core" as core;

static method bad() → dynamic {
  for (core::int* i = 0, core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:19: Error: 'i' is already declared in this scope.
  for (int i = 0, i > 10; i++) {}
                  ^" as{TypeError} core::int*; invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: This couldn't be parsed.
  for (int i = 0, i > 10; i++) {}
                    ^".>(10) as{TypeError} core::bool*; i = i.{core::num::+}(1)) {
  }
}
static method main() → dynamic {}
