// Unhandled 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 core::int #t1 = self::i in let final core::int #t2 = self::i = #t1.{core::num::+}(1) in #t1;
  self::i;
}
static method test2() → core::int {
  return (let final core::int #t3 = self::i in let final core::int #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) as{TypeError} core::int;
  self::i;
}
static method main() → dynamic {
  self::test1();
}
