diff --git a/scalafmt-tests/src/test/resources/scala3/OptionalBraces.stat b/scalafmt-tests/src/test/resources/scala3/OptionalBraces.stat
index 44516ecc56..f745fb654d 100644
--- a/scalafmt-tests/src/test/resources/scala3/OptionalBraces.stat
+++ b/scalafmt-tests/src/test/resources/scala3/OptionalBraces.stat
@@ -5004,6 +5004,27 @@ object A:
new Foo("xyz"):
print("msg")
.bar()
+<<< match inside infix chain, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ withEval.so(evalComment so { c =>
+ s"($c) "
+ }) +
+ this.match {
+ case MateAdvice(seq, _, _, _) => seq.desc
+ case CpAdvice(judgment, _, _) => judgment.toString
+ } + "."
+}
+>>>
+object a:
+ withEval.so(evalComment so { c =>
+ s"($c) "
+ }) +
+ this.match
+ case MateAdvice(seq, _, _, _) => seq.desc
+ case CpAdvice(judgment, _, _) => judgment.toString
+ + "."
<<< match as infix lhs, with rewrite
rewrite.scala3.removeOptionalBraces = yes
===
@@ -5043,3 +5064,59 @@ def foo(url: String) =
.map { img =>
Html(s"""""")
}
+<<< new anon as infix lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ } mapFutureList pager.withChaptersAndLiking(me)
+}
+>>>
+test does not parse
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) =
+ api.search(query, From(offset), Size(length))
+ mapFutureList pager.withChaptersAndLiking(me)
+ ^
+<<< new anon as postfix lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ } mapFutureList
+}
+>>>
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) =
+ api.search(query, From(offset), Size(length))
+ mapFutureList
+<<< new anon as select lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ }.mapFutureList
+}
+>>>
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) =
+ api.search(query, From(offset), Size(length))
+ .mapFutureList
diff --git a/scalafmt-tests/src/test/resources/scala3/OptionalBraces_fold.stat b/scalafmt-tests/src/test/resources/scala3/OptionalBraces_fold.stat
index 21404d9937..3958819ae7 100644
--- a/scalafmt-tests/src/test/resources/scala3/OptionalBraces_fold.stat
+++ b/scalafmt-tests/src/test/resources/scala3/OptionalBraces_fold.stat
@@ -4789,6 +4789,24 @@ object A:
new Foo("xyz"):
print("msg")
.bar()
+<<< match inside infix chain, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ withEval.so(evalComment so { c =>
+ s"($c) "
+ }) +
+ this.match {
+ case MateAdvice(seq, _, _, _) => seq.desc
+ case CpAdvice(judgment, _, _) => judgment.toString
+ } + "."
+}
+>>>
+object a:
+ withEval.so(evalComment so { c => s"($c) " }) + this.match
+ case MateAdvice(seq, _, _, _) => seq.desc
+ case CpAdvice(judgment, _, _) => judgment.toString
+ + "."
<<< match as infix lhs, with rewrite
rewrite.scala3.removeOptionalBraces = yes
===
@@ -4822,3 +4840,59 @@ def foo(url: String) = url.match
case "foo" => Some("")
case _ => None
.map { img => Html(s"""""") }
+<<< new anon as infix lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ } mapFutureList pager.withChaptersAndLiking(me)
+}
+>>>
+test does not parse
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api
+ .search(query, From(offset), Size(length))
+ mapFutureList pager.withChaptersAndLiking(me)
+ ^
+<<< new anon as postfix lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ } mapFutureList
+}
+>>>
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api
+ .search(query, From(offset), Size(length))
+ mapFutureList
+<<< new anon as select lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ }.mapFutureList
+}
+>>>
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api
+ .search(query, From(offset), Size(length))
+ .mapFutureList
diff --git a/scalafmt-tests/src/test/resources/scala3/OptionalBraces_keep.stat b/scalafmt-tests/src/test/resources/scala3/OptionalBraces_keep.stat
index 33d44345e5..ac507f8baa 100644
--- a/scalafmt-tests/src/test/resources/scala3/OptionalBraces_keep.stat
+++ b/scalafmt-tests/src/test/resources/scala3/OptionalBraces_keep.stat
@@ -5036,6 +5036,27 @@ object A:
new Foo("xyz"):
print("msg")
.bar()
+<<< match inside infix chain, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ withEval.so(evalComment so { c =>
+ s"($c) "
+ }) +
+ this.match {
+ case MateAdvice(seq, _, _, _) => seq.desc
+ case CpAdvice(judgment, _, _) => judgment.toString
+ } + "."
+}
+>>>
+object a:
+ withEval.so(evalComment so { c =>
+ s"($c) "
+ }) +
+ this.match
+ case MateAdvice(seq, _, _, _) => seq.desc
+ case CpAdvice(judgment, _, _) => judgment.toString
+ + "."
<<< match as infix lhs, with rewrite
rewrite.scala3.removeOptionalBraces = yes
===
@@ -5074,3 +5095,59 @@ def foo(url: String) =
.map { img =>
Html(s"""""")
}
+<<< new anon as infix lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ } mapFutureList pager.withChaptersAndLiking(me)
+}
+>>>
+test does not parse
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) =
+ api.search(query, From(offset), Size(length))
+ mapFutureList pager.withChaptersAndLiking(me)
+ ^
+<<< new anon as postfix lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ } mapFutureList
+}
+>>>
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) =
+ api.search(query, From(offset), Size(length))
+ mapFutureList
+<<< new anon as select lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ }.mapFutureList
+}
+>>>
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) =
+ api.search(query, From(offset), Size(length))
+ .mapFutureList
diff --git a/scalafmt-tests/src/test/resources/scala3/OptionalBraces_unfold.stat b/scalafmt-tests/src/test/resources/scala3/OptionalBraces_unfold.stat
index deec05e20f..112199687a 100644
--- a/scalafmt-tests/src/test/resources/scala3/OptionalBraces_unfold.stat
+++ b/scalafmt-tests/src/test/resources/scala3/OptionalBraces_unfold.stat
@@ -5157,6 +5157,31 @@ object A:
new Foo("xyz"):
print("msg")
.bar()
+<<< match inside infix chain, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ withEval.so(evalComment so { c =>
+ s"($c) "
+ }) +
+ this.match {
+ case MateAdvice(seq, _, _, _) => seq.desc
+ case CpAdvice(judgment, _, _) => judgment.toString
+ } + "."
+}
+>>>
+object a:
+ withEval.so(
+ evalComment so { c =>
+ s"($c) "
+ }
+ ) +
+ this.match
+ case MateAdvice(seq, _, _, _) =>
+ seq.desc
+ case CpAdvice(judgment, _, _) =>
+ judgment.toString
+ + "."
<<< match as infix lhs, with rewrite
rewrite.scala3.removeOptionalBraces = yes
===
@@ -5200,3 +5225,59 @@ def foo(url: String) =
.map { img =>
Html(s"""""")
}
+<<< new anon as infix lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ } mapFutureList pager.withChaptersAndLiking(me)
+}
+>>>
+test does not parse
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api
+ .search(query, From(offset), Size(length))
+ mapFutureList pager.withChaptersAndLiking(me)
+ ^
+<<< new anon as postfix lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ } mapFutureList
+}
+>>>
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api
+ .search(query, From(offset), Size(length))
+ mapFutureList
+<<< new anon as select lhs, with rewrite
+rewrite.scala3.removeOptionalBraces = yes
+===
+object a {
+ new AdapterLike[Study] {
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api.search(query, From(offset), Size(length))
+ }.mapFutureList
+}
+>>>
+object a:
+ new AdapterLike[Study]:
+ def query = Query(text take 100, me.map(_.id))
+ def nbResults = api count query
+ def slice(offset: Int, length: Int) = api
+ .search(query, From(offset), Size(length))
+ .mapFutureList