library;
//
// Problems in library:
//
// pkg/front_end/testcases/regress/issue_29984.dart:6:16: Error: Undefined name 'i'.
//   for (int i = i;; false) {}
//                ^
//
// pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
//   for (int i = i;; false) {}
//            ^
// pkg/front_end/testcases/regress/issue_29984.dart:6:16: Context: Previous use of 'i'.
//   for (int i = i;; false) {}
//                ^
//
import self as self;
import "dart:core" as core;

static method bad() → dynamic {
  for (core::int* i = invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:12: Error: Can't declare 'i' because it was already used in this scope.
  for (int i = i;; false) {}
           ^" in invalid-expression "pkg/front_end/testcases/regress/issue_29984.dart:6:16: Error: Undefined name 'i'.
  for (int i = i;; false) {}
               ^"; ; false) {
  }
}
static method main() → dynamic {}
