// Errors:
//
// pkg/front_end/testcases/regress/issue_31185.dart:8:12: Error: Expected ';' after this.
//   return i ++ (i);
//            ^^
//
// pkg/front_end/testcases/regress/issue_31185.dart:12:14: Error: Expected ';' after 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();
}
