// Errors:
//
// pkg/front_end/testcases/regress/issue_31185.dart:8:15: Error: Expected ';' before this.
//   return i ++ (i);
//               ^
//
// pkg/front_end/testcases/regress/issue_31185.dart:12:17: Error: Expected ';' before this.
//   return (i) ++ (i);
//                 ^

library;
import self as self;
import "dart:core" as core;

static field core::int i = 5;
static method test1() → core::int {
  return let final dynamic #t1 = self::i in let final dynamic #t2 = self::i = #t1.+(1) in #t1;
  self::i;
}
static method test2() → core::int {
  return let final dynamic #t3 = self::i in let final dynamic #t4 = #t3 in let final dynamic #t5 = invalid-expression "pkg/front_end/testcases/regress/issue_31185.dart:12:12: Error: Can't assign to a parenthesized expression.
  return (i) ++ (i);
           ^" in #t4;
  self::i;
}
static method main() → dynamic {
  self::test1();
}
