You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
trait TypeBound {
type Min
type Max >: Min
}
object TypeBound {
type Pinpoint = TypeBound { type Max = Min }
}
object HasPoly1 {
trait Poly1[B <: TypeBound] {
type Refined[Sub <: B]
def refine[Sub <: B](sub: Sub): Refined[Sub]
}
object Poly1 {
type Concrete = Poly1[? <: TypeBound.Pinpoint] // can only refine using a concrete type, not a type bound
case class Example1() extends Poly1[TypeBound.Pinpoint] {
case class Refined[Sub <: TypeBound.Pinpoint](sub: Sub) {
final val fn: sub.Max => Seq[sub.Max] = { v =>
Seq(v)
}
}
def refine[Sub <: TypeBound.Pinpoint](sub: Sub): Refined[Sub] = Refined[Sub](sub)
}
}
}
under newest Scala 3.
Cause: java.lang.StackOverflowError
at sbt.internal.inc.binary.converters.ProtobufWriters.toStructure(ProtobufWriters.scala:377)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:444)
at sbt.internal.inc.binary.converters.ProtobufWriters.toProjection$1(ProtobufWriters.scala:393)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:449)
at sbt.internal.inc.binary.converters.ProtobufWriters.toTypeAlias$1(ProtobufWriters.scala:553)
at sbt.internal.inc.binary.converters.ProtobufWriters.toClassDefinition(ProtobufWriters.scala:580)
at sbt.internal.inc.binary.converters.ProtobufWriters.$anonfun$toStructure$1(ProtobufWriters.scala:377)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at sbt.internal.inc.binary.converters.ProtobufWriters.toStructure(ProtobufWriters.scala:377)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:444)
at sbt.internal.inc.binary.converters.ProtobufWriters.$anonfun$toStructure$3(ProtobufWriters.scala:379)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at sbt.internal.inc.binary.converters.ProtobufWriters.toStructure(ProtobufWriters.scala:379)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:444)
at sbt.internal.inc.binary.converters.ProtobufWriters.toProjection$1(ProtobufWriters.scala:393)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:449)
at sbt.internal.inc.binary.converters.ProtobufWriters.toTypeAlias$1(ProtobufWriters.scala:553)
at sbt.internal.inc.binary.converters.ProtobufWriters.toClassDefinition(ProtobufWriters.scala:580)
at sbt.internal.inc.binary.converters.ProtobufWriters.$anonfun$toStructure$1(ProtobufWriters.scala:377)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at sbt.internal.inc.binary.converters.ProtobufWriters.toStructure(ProtobufWriters.scala:377)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:444)
at sbt.internal.inc.binary.converters.ProtobufWriters.$anonfun$toStructure$3(ProtobufWriters.scala:379)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at sbt.internal.inc.binary.converters.ProtobufWriters.toStructure(ProtobufWriters.scala:379)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:444)
at sbt.internal.inc.binary.converters.ProtobufWriters.toProjection$1(ProtobufWriters.scala:393)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:449)
at sbt.internal.inc.binary.converters.ProtobufWriters.toTypeAlias$1(ProtobufWriters.scala:553)
at sbt.internal.inc.binary.converters.ProtobufWriters.toClassDefinition(ProtobufWriters.scala:580)
at sbt.internal.inc.binary.converters.ProtobufWriters.$anonfun$toStructure$1(ProtobufWriters.scala:377)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at sbt.internal.inc.binary.converters.ProtobufWriters.toStructure(ProtobufWriters.scala:377)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:444)
at sbt.internal.inc.binary.converters.ProtobufWriters.$anonfun$toStructure$3(ProtobufWriters.scala:379)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at sbt.internal.inc.binary.converters.ProtobufWriters.toStructure(ProtobufWriters.scala:379)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:444)
at sbt.internal.inc.binary.converters.ProtobufWriters.toProjection$1(ProtobufWriters.scala:393)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:449)
at sbt.internal.inc.binary.converters.ProtobufWriters.toTypeAlias$1(ProtobufWriters.scala:553)
at sbt.internal.inc.binary.converters.ProtobufWriters.toClassDefinition(ProtobufWriters.scala:580)
at sbt.internal.inc.binary.converters.ProtobufWriters.$anonfun$toStructure$1(ProtobufWriters.scala:377)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at sbt.internal.inc.binary.converters.ProtobufWriters.toStructure(ProtobufWriters.scala:377)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:444)
at sbt.internal.inc.binary.converters.ProtobufWriters.$anonfun$toStructure$3(ProtobufWriters.scala:379)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at sbt.internal.inc.binary.converters.ProtobufWriters.toStructure(ProtobufWriters.scala:379)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:444)
at sbt.internal.inc.binary.converters.ProtobufWriters.toProjection$1(ProtobufWriters.scala:393)
at sbt.internal.inc.binary.converters.ProtobufWriters.toType(ProtobufWriters.scala:449)
at sbt.internal.inc.binary.converters.ProtobufWriters.toTypeAlias$1(ProtobufWriters.scala:553)
at sbt.internal.inc.binary.converters.ProtobufWriters.toClassDefinition(ProtobufWriters.scala:580)
at sbt.internal.inc.binary.converters.ProtobufWriters.$anonfun$toStructure$1(ProtobufWriters.scala:377)
..
steps
Try to compile:
under newest Scala 3.
problem
Looks like an inifinite loop.
expectation
It should not fail to write analysis
notes
Raised in scala/scala3#22026
Anyone has an idea what can be fixed here? I also checked on sbt 2 and the same issue happened
The text was updated successfully, but these errors were encountered: