Skip to content

Integration class for newtypes #769

@MateuszKubuszok

Description

@MateuszKubuszok

We have whole integration mechanism which allows macros to understand the custom types.

But we are missing something to tell macros that something is like a wrapper, but not a proper wrapper - there is some extension method to unwrap it, and maybe some smart constructor to create it.

Basically all:

  • refined types
  • new types
  • opaque types in general

It could be done with a new integration type class. Currently we are providing implicit transformers but what if we have, e.g.:

  • a newtype from one library wrapping X as a source value
  • a newtype from another library wrapping Y as the target?

Such a manual wrapping of just internal type into external or vice-versa would not be enough. To have a seamless UX we would need a new type class.

Existing integrations should not be changed, but it could be fixed in 2.0.0-development branch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dragons aheadTask which requires handwriting compiletime reflection for Scala2&3 and/or updating the architectureenhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions