-
-
Notifications
You must be signed in to change notification settings - Fork 109
Open
Labels
dragons aheadTask which requires handwriting compiletime reflection for Scala2&3 and/or updating the architectureTask which requires handwriting compiletime reflection for Scala2&3 and/or updating the architectureenhancement
Description
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
Labels
dragons aheadTask which requires handwriting compiletime reflection for Scala2&3 and/or updating the architectureTask which requires handwriting compiletime reflection for Scala2&3 and/or updating the architectureenhancement