Skip to content

Issue typing tail of generic Tuple3 after ReifyQuotes #5269

Closed
@nicolasstucki

Description

@nicolasstucki

tests/pending/tuple-cons.scala fails with -Ycheck:all.

The issue can be minimized to

val t3: Int *: Int *: Int *: Unit = ???
t3.tail.head

and fails with

checking tests/pending/tuple-cons.scala after phase reifyQuotes
exception while typing {
  type T$6 = (Int, Int, Int)(t3)(NonEmptyTuple_this)
  NonEmptyTuple.dynamicTail[T$6](NonEmptyTuple_this)
} of class class dotty.tools.dotc.ast.Trees$Block # 1542
exception while typing /* inlined from NonEmptyTuple */ 
  {
    {
      type T$6 = (Int, Int, Int)(t3)(NonEmptyTuple_this)
      NonEmptyTuple.dynamicTail[T$6](NonEmptyTuple_this)
    }
  } of class class dotty.tools.dotc.ast.Trees$Inlined # 1543
exception while typing val NonEmptyTuple_this: => (Int, Int)(quoted.Expr[(Int, Int)]#unary_~) = 
  /* inlined from NonEmptyTuple */ 
    {
      {
        type T$6 = (Int, Int, Int)(t3)(NonEmptyTuple_this)
        NonEmptyTuple.dynamicTail[T$6](NonEmptyTuple_this)
      }
    } of class class dotty.tools.dotc.ast.Trees$ValDef # 1544
exception while typing /* inlined from NonEmptyTuple */ 
  {
    val NonEmptyTuple_this: => (Int, Int)(quoted.Expr[(Int, Int)]#unary_~) = 
      /* inlined from NonEmptyTuple */ 
        {
          {
            type T$6 = (Int, Int, Int)(t3)(NonEmptyTuple_this)
            NonEmptyTuple.dynamicTail[T$6](NonEmptyTuple_this)
          }
        }
    {
      type T$3
         = => (Int, Int)(quoted.Expr[(Int, Int)]#unary_~)(NonEmptyTuple_this)
      NonEmptyTuple.dynamicHead[T$3](NonEmptyTuple_this)
    }
  } of class class dotty.tools.dotc.ast.Trees$Inlined # 1566

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