Skip to content

Commit

Permalink
RedundantParens: keep parens in given infix type
Browse files Browse the repository at this point in the history
  • Loading branch information
kitbellew committed Dec 20, 2024
1 parent f113a30 commit f2bfeb0
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ object RedundantParens extends Rewrite with FormatTokensRewrite.RuleFactory {
}
}

private def okToReplaceDeclTpe(p: Tree.WithDeclTpe, t: Tree): Boolean =
(t, p) match {
// https://dotty.epfl.ch/docs/reference/syntax.html#declarations-and-definitions-1
// given requires AnnotType, not any Type
case (_: Type.ApplyInfix, _: Stat.GivenLike) => false
case _ => true
}

}

class RedundantParens(implicit val ftoks: FormatTokens)
Expand Down Expand Up @@ -126,7 +134,7 @@ class RedundantParens(implicit val ftoks: FormatTokens)
case _ => true
}
case pia: Member.Infix => okToReplaceInfix(pia, t)
case p: Tree.WithDeclTpe if p.decltpe eq t => true
case p: Tree.WithDeclTpe if p.decltpe eq t => okToReplaceDeclTpe(p, t)
case p: Tree.WithDeclTpeOpt if p.decltpe.contains(t) => true
case _ => okToReplaceOther(t)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1792,4 +1792,4 @@ runner.dialect = scala3
===
given fooBar: (Foo & Bar) = new Foo with Bar {}
>>>
given fooBar: Foo & Bar = new Foo with Bar {}
given fooBar: (Foo & Bar) = new Foo with Bar {}
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ class FormatTests extends FunSuite with CanRunTests with FormatAssertions {
val explored = Debug.explored.get()
logger.debug(s"Total explored: $explored")
if (!onlyUnit && !onlyManual)
assertEquals(explored, 1208548, "total explored")
assertEquals(explored, 1208552, "total explored")
val results = debugResults.result()
// TODO(olafur) don't block printing out test results.
// I don't want to deal with scalaz's Tasks :'(
Expand Down

0 comments on commit f2bfeb0

Please sign in to comment.