Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move
NamedTuple.head
to NamedTupleDecomposition
This is in particular necessary for scala#21291, to avoid problems encountered after inlining from scopes defining opaque types (such as in the example below), as was already done for the other NamedTuple operations in scala#20504. ```scala -- Error: tests/pos/named-tuple-combinators.scala:46:17 ------------------------ 46 | val res1 = x.head | ^^^^^^ |(Int, String) does not conform to bound >: | (x$proxy55 : (x : Test.NT) & | $proxy19.NamedTuple[ | Tuple.Concat[ | NamedTupleDecomposition.Names[ | $proxy19.NamedTuple[Tuple1[("hi" : String)], Tuple1[Int]]], | NamedTupleDecomposition.Names[ | $proxy19.NamedTuple[Tuple1[("bla" : String)], Tuple1[String]]] | ], | Tuple.Concat[ | NamedTupleDecomposition.DropNames[ | $proxy19.NamedTuple[Tuple1[("hi" : String)], Tuple1[Int]]], | NamedTupleDecomposition.DropNames[ | $proxy19.NamedTuple[Tuple1[("bla" : String)], Tuple1[String]]] | ] | ] | ) | <: Tuple |---------------------------------------------------------------------------- |Inline stack trace |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |This location contains code that was inlined from NamedTuple.scala:47 47 | inline def head: Tuple.Elem[V, 0] = x.apply(0) | ^^^^^^^ ---------------------------------------------------------------------------- ```
- Loading branch information