Skip to content

Issue typing tail of generic Tuple3 after ReifyQuotes #5269

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
nicolasstucki opened this issue Oct 17, 2018 · 2 comments
Closed

Issue typing tail of generic Tuple3 after ReifyQuotes #5269

nicolasstucki opened this issue Oct 17, 2018 · 2 comments

Comments

@nicolasstucki
Copy link
Contributor

nicolasstucki commented Oct 17, 2018

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

@nicolasstucki
Copy link
Contributor Author

This might be fixed in #5216

@nicolasstucki
Copy link
Contributor Author

#5216 fixes the minimization, but tests/pending/tuple-cons.scala still fails or some other reason.

nicolasstucki added a commit to dotty-staging/dotty that referenced this issue Oct 24, 2018
odersky added a commit that referenced this issue Oct 29, 2018
Fix #5269: Fix StagedTuple/Tuple implementation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant