From 3ad5c121f65a4e9f43d2704150a0fd5b1b13d240 Mon Sep 17 00:00:00 2001 From: Som Snytt Date: Sat, 23 Jan 2021 19:07:13 -0800 Subject: [PATCH] Avoid inferring Any old thing --- src/compiler/scala/tools/nsc/symtab/SymbolTrackers.scala | 6 +++--- .../tools/nsc/transform/patmat/MatchTreeMaking.scala | 2 +- .../scala/tools/nsc/typechecker/TypersTracking.scala | 2 +- src/library/scala/collection/Seq.scala | 2 +- .../tools/scalap/scalax/rules/scalasig/ScalaSig.scala | 2 +- test/junit/scala/collection/IterableTest.scala | 2 +- test/junit/scala/collection/MapTest.scala | 4 ++-- test/junit/scala/collection/SetMapConsistencyTest.scala | 8 ++++---- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/compiler/scala/tools/nsc/symtab/SymbolTrackers.scala b/src/compiler/scala/tools/nsc/symtab/SymbolTrackers.scala index 6c7db1dd5448..e99ed0858a03 100644 --- a/src/compiler/scala/tools/nsc/symtab/SymbolTrackers.scala +++ b/src/compiler/scala/tools/nsc/symtab/SymbolTrackers.scala @@ -186,15 +186,15 @@ trait SymbolTrackers { val ownerString = { val (few, rest) = sym.ownersIterator.splitAt(3) val ellipsis = Iterator("...").filter(_ => rest.hasNext) - (few ++ ellipsis).mkString(" -> ") + few.map(_.toString).concat(ellipsis).mkString(" -> ") } val treeStrings = symMap(sym).map(t => f"${t.shortClass}%10s: $t") (ownerString :: treeStrings).mkString("\n") } - def removedString = (removed: List[Symbol]).zipWithIndex map { + def removedString = (removed: List[Symbol]).zipWithIndex.map { case (t, i) => "(%2s) ".format(i + 1) + detailString(t) - } mkString "\n" + }.mkString("\n") "" + hierarchy + ( if (removed.isEmpty) "" diff --git a/src/compiler/scala/tools/nsc/transform/patmat/MatchTreeMaking.scala b/src/compiler/scala/tools/nsc/transform/patmat/MatchTreeMaking.scala index 2618f5178939..6f95b24d88e2 100644 --- a/src/compiler/scala/tools/nsc/transform/patmat/MatchTreeMaking.scala +++ b/src/compiler/scala/tools/nsc/transform/patmat/MatchTreeMaking.scala @@ -320,7 +320,7 @@ trait MatchTreeMaking extends MatchCodeGen with Debugging { } } - override def toString = "P"+((prevBinder.name, extraCond getOrElse "", localSubstitution)) + override def toString = s"P(${prevBinder.name}, ${extraCond.fold("")(_.toString)}, ${localSubstitution})" } object IrrefutableExtractorTreeMaker { diff --git a/src/compiler/scala/tools/nsc/typechecker/TypersTracking.scala b/src/compiler/scala/tools/nsc/typechecker/TypersTracking.scala index 7d439d30ae7a..8ffa6cbe0b40 100644 --- a/src/compiler/scala/tools/nsc/typechecker/TypersTracking.scala +++ b/src/compiler/scala/tools/nsc/typechecker/TypersTracking.scala @@ -107,7 +107,7 @@ trait TypersTracking { def showPush(tree: Tree, mode: Mode, pt: Type, context: Context): Unit = { def tree_s = truncAndOneLine(ptTree(tree)) def pt_s = if (pt.isWildcard || context.inTypeConstructorAllowed) "" else s": pt=$pt" - def all_s = List(tree_s, pt_s, mode, fullSiteString(context)) filterNot (_ == "") mkString " " + def all_s = List(tree_s, pt_s, mode.toString, fullSiteString(context)).filterNot(_.isEmpty).mkString(" ") atLowerIndent(show(indented("""|-- """ + all_s))) } diff --git a/src/library/scala/collection/Seq.scala b/src/library/scala/collection/Seq.scala index cad0a3c2ad5e..3f98f877413e 100644 --- a/src/library/scala/collection/Seq.scala +++ b/src/library/scala/collection/Seq.scala @@ -514,7 +514,7 @@ trait SeqOps[+A, +CC[_], +C] extends Any * @return `true` if this $coll contains a slice with the same elements * as `that`, otherwise `false`. */ - def containsSlice[B](that: Seq[B]): Boolean = indexOfSlice(that) != -1 + def containsSlice[B >: A](that: Seq[B]): Boolean = indexOfSlice(that) != -1 /** Tests whether this $coll contains a given value as an element. * $mayNotTerminateInf diff --git a/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala index 8e6b5f85d1a3..e571649454a8 100644 --- a/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala +++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala @@ -170,7 +170,7 @@ object ScalaSigEntryParsers extends RulesWithState with MemoisableRules { val index = read(_.index) val key = read(_.entryType) - lazy val entry: EntryParser[Any] = symbol | typeEntry | literal | name | attributeInfo | annotInfo | children | get + lazy val entry: EntryParser[Any] = (symbol: EntryParser[Any]) | typeEntry | literal | name | attributeInfo | annotInfo | children | get val ref = byteCodeEntryParser(nat) diff --git a/test/junit/scala/collection/IterableTest.scala b/test/junit/scala/collection/IterableTest.scala index 2faec2899660..78f911aace1d 100644 --- a/test/junit/scala/collection/IterableTest.scala +++ b/test/junit/scala/collection/IterableTest.scala @@ -270,7 +270,7 @@ class IterableTest { @Test def partitionMap(): Unit = { - val (left, right) = Seq(1, "1", 2, "2", 3, "3", 4, "4", 5, "5").partitionMap { + val (left, right) = Seq[Any](1, "1", 2, "2", 3, "3", 4, "4", 5, "5").partitionMap { case i: Int => Left(i) case s: String => Right(s) } diff --git a/test/junit/scala/collection/MapTest.scala b/test/junit/scala/collection/MapTest.scala index 8d371df6a3b7..6bfa66955e54 100644 --- a/test/junit/scala/collection/MapTest.scala +++ b/test/junit/scala/collection/MapTest.scala @@ -50,8 +50,8 @@ class MapTest { val m = (1 to 10).map(x => (x, x)).toMap val m1 = m ++: m assertEquals(m.toList.sorted, (m1: Map[Int, Int]).toList.sorted) - val s1 = List(1) ++: m - assertEquals(1 :: m.toList.sorted, (s1: Iterable[Any]).toList.sortBy({case (x: Int, _) => x; case x: Int => x})) + val s1: Iterable[Any] = List(1) ++: m + assertEquals(1 :: m.toList.sorted, s1.toList.sortBy { case (x: Int, _) => x ; case x: Int => x }) } @Test diff --git a/test/junit/scala/collection/SetMapConsistencyTest.scala b/test/junit/scala/collection/SetMapConsistencyTest.scala index cea15ee7f693..b8ef2e3efa3d 100644 --- a/test/junit/scala/collection/SetMapConsistencyTest.scala +++ b/test/junit/scala/collection/SetMapConsistencyTest.scala @@ -307,11 +307,11 @@ class SetMapConsistencyTest { // Actual tests - val smallKeys = Array(0, 1, 42, 9127) - val intKeys = smallKeys ++ Array(-1, Int.MaxValue, Int.MinValue, -129385) - val longKeys = intKeys.map(_.toLong) ++ Array(Long.MaxValue, Long.MinValue, 1397198789151L, -41402148014L) + val smallKeys = Array(0, 1, 42, 9127) + val intKeys = smallKeys ++ Array(-1, Int.MaxValue, Int.MinValue, -129385) + val longKeys = intKeys.map(_.toLong) ++ Array(Long.MaxValue, Long.MinValue, 1397198789151L, -41402148014L) val stringKeys = intKeys.map(_.toString) ++ Array("", null) - val anyKeys = stringKeys.filter(_ != null) ++ Array(0L) ++ Array(true) ++ Array(math.Pi) + val anyKeys = (stringKeys.filter(_ != null) ++ Array(0L): Array[Any]) ++ Array(true) ++ Array(math.Pi) @Test def churnIntMaps(): Unit = {