Skip to content
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

Move NamedTuple.head to NamedTupleDecomposition #21308

Merged
merged 1 commit into from
Jul 31, 2024

Commits on Jul 31, 2024

  1. 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)
       |                                        ^^^^^^^
        ----------------------------------------------------------------------------
    ```
    EugeneFlesselle committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    32e4056 View commit details
    Browse the repository at this point in the history