You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Close#463: Move Eq and Show type class instances for refined4s.types.strings types from refined4s-cats to refined4s-core with orphan-cats
- Add `internalDef.contraCoercible` (which uses `cats.Contravariant` and `refined4s.Coercible`) to derive type class instances without exposing `cats` in `core`.
- The following typeclass instances for strings are moved from `refined4s-cats` and rewritten with `orphan-cats`:
- `NonEmptyString`: `derivedNonEmptyStringEq`, `derivedNonEmptyStringShow`
- `NonBlankString`: `derivedNonBlankStringEq`, `derivedNonBlankStringShow`
- `Uuid`: `derivedUuidEq`, `derivedUuidShow`
- tests (`test-refined4s-core-without-cats`: JVM/JS/Native):
- `internalDefSpec` validates `MissingCatsContravariant` message for `contraCoercible`
- `stringsSpec` validates `MissingCatsEq` and `MissingCatsShow` messages for derived type class instances.
No breaking changes. Compile-time tests cover absence-of-cats scenarios.
Copy file name to clipboardExpand all lines: modules/refined4s-circe/shared/src/test/scala/refined4s/modules/circe/derivation/types/CirceCodecWithTypeClassesForTypesSpec.scala
Copy file name to clipboardExpand all lines: modules/refined4s-doobie-ce2/shared/src/test/scala/refined4s/modules/doobie/derivation/ExampleWithDoobieGetPut.scala
Copy file name to clipboardExpand all lines: modules/refined4s-doobie-ce3/shared/src/test/scala/refined4s/modules/doobie/derivation/ExampleWithDoobieGetPut.scala
0 commit comments