Skip to content

Crash – StackOverflow when summoning #7249

Closed
@anatoliykmetyuk

Description

@anatoliykmetyuk

minimized code

trait F[H, T]

given [H, T](given h: H, t: T): F[H, T] = ???
@main def Test = summon[F[Int, Unit]]
Stack trace
java.lang.StackOverflowError while compiling ../pg/is2/Main.scala
Exception in thread "main" java.lang.StackOverflowError
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4929)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5081)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4955)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5087)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4946)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4925)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4929)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5081)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4955)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5087)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4946)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4925)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4929)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5081)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4955)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5087)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4946)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4925)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4929)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5081)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4955)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5087)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4946)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4925)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4929)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5081)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4955)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5087)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4946)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4925)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4929)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5081)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4955)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5087)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4946)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4925)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4929)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5081)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4955)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5087)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4946)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5089)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4925)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4929)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5081)
	at dotty.tools.dotc.core.Types$TypeSizeAccumulator.apply(Types.scala:5075)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions