Skip to content

Update internal usage of mirrors to use refinement types #706

@mpilquist

Description

@mpilquist

Now that scala/scala3#7380 has been fixed, we can replace this idiom:

using m: Mirror.ProductOf[P], i: m.MirroredElemTypes =:= A *: EmptyTuple

with:

using m: Mirror.ProductOf[P] { type MirroredElemTypes = A *: EmptyTuple }

To retain binary compatibility, we'd have to retain the existing signatures as private[skunk] for the various operations that have already been released. See scodec/scodec@919f964 for a similar change that was done to scodec.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions