Permalink
Browse files

runtime reflection: death from thousand threads

not anymore
  • Loading branch information...
1 parent 73d079f commit 387b2590db6c4f16183ea309b7451ed1fe8365ab @xeno-by xeno-by committed Jan 26, 2013
View
1,000 test/files/run/reflection-sync-potpourri.check
1,000 additions, 0 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
31 test/files/run/reflection-sync-potpourri.scala
@@ -0,0 +1,31 @@
+import scala.reflect.runtime.universe._
+
+// this test checks that under heavily multithreaded conditions:
+// 1) scala.reflect.runtime.universe, its rootMirror and definitions are initialized correctly
+// 2) symbols are correctly materialized into PackageScopes (no dupes)
+// 3) unpickling works okay even we unpickle the same symbol a lot of times
+
+object Test extends App {
+ def foo[T: TypeTag](x: T) = typeOf[T].toString
+ val n = 1000
+ val rng = new scala.util.Random()
+ val types = List(
+ () => typeOf[java.lang.reflect.Method],
+ () => typeOf[java.lang.annotation.Annotation],
+ () => typeOf[scala.io.BufferedSource],
+ () => typeOf[scala.io.Codec])
+ val perms = types.permutations.toList
+ def force(lazytpe: () => Type): String = {
+ lazytpe().typeSymbol.typeSignature
+ lazytpe().toString
+ }
+ val diceRolls = List.fill(n)(rng.nextInt(perms.length))
+ val threads = (1 to n) map (i => new Thread(s"Reflector-$i") {
+ override def run(): Unit = {
+ val s1 = foo("42")
+ val s2 = perms(diceRolls(i - 1)).map(x => force(x)).sorted.mkString(", ")
+ println(s"s1 = $s1, s2 = $s2")
+ }
+ })
+ threads foreach (_.start)
+}
View
1,000 test/files/run/reflection-sync-subtypes.check
@@ -0,0 +1,1000 @@
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
+false, false, true, true
View
20 test/files/run/reflection-sync-subtypes.scala
@@ -0,0 +1,20 @@
+import scala.reflect.runtime.universe._
+
+object Test extends App {
+ val n = 1000
+ val rng = new scala.util.Random()
+ val tasks = List(
+ () => typeOf[List[Int]] <:< typeOf[List[T] forSome { type T }],
+ () => typeOf[List[T] forSome { type T }] <:< typeOf[List[Any]],
+ () => typeOf[Map[Int, Object]] <:< typeOf[Iterable[(Int, String)]],
+ () => typeOf[Expr[Any] { val mirror: rootMirror.type }] <:< typeOf[Expr[List[List[List[Int]]]]{ val mirror: rootMirror.type }])
+ val perms = tasks.permutations.toList
+ val diceRolls = List.fill(n)(rng.nextInt(perms.length))
+ val threads = (1 to n) map (i => new Thread(s"Reflector-$i") {
+ override def run(): Unit = {
+ val result = perms(diceRolls(i - 1)).map(_())
+ println(result.sorted.mkString(", "))
+ }
+ })
+ threads foreach (_.start)
+}

1 comment on commit 387b259

@scala-jenkins

Job pr-rangepos-per-commit failed for 387b259 (results):


Took 27 s.
sad kitty
to rebuild, comment "PLS REBUILD/pr-rangepos-per-commit@387b259"on PR #2083

Please sign in to comment.