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

Scala 3 support #514

Merged
merged 59 commits into from Sep 12, 2022
Merged

Scala 3 support #514

merged 59 commits into from Sep 12, 2022

Conversation

joroKr21
Copy link
Member

@joroKr21 joroKr21 commented Sep 9, 2022

No description provided.

joroKr21 and others added 30 commits May 7, 2021 18:44
Co-authored-by: Georgi Krastev <joro.kr.21@gmail.com>
* Derive Show with field labels

* Make show safe for empty products

* Use SAM functions to avoid anonymous class generation
Also use the constant type directly for brevity
Co-authored-by: Georgi Krastev <joro.kr.21@gmail.com>
* [WIP] Port TraverseSuite to Scala 3

* Update shapeless and fix TraverseSuite
* Rename files according to classes

* Derive Semigroup and Monoid

* Port tests for Semigroup and Monoid
)

* Bump Scala and comment out tests that don't work

* Update cats

* Bump Scala 2 versions and Kind projector
andrzejressel and others added 21 commits April 16, 2022 22:23
* Port EmptyK to dotty

* Fix formatting

* Support EmptyK for sum types

* Refactor EmptyKSuite

Co-authored-by: Georgi Krastev <joro.kr.21@gmail.com>
Also revert scalaOutputVersion - it's future is unclear
Unfortunately the experiece is subpar, because it doesn't work well
with type aliases which don't support type argument interpolation.
* Port SemigroupK and MonoidK to new derivation scheme

* WIP port of SemigroupK suite to scala 3

* Nested derivations for SemigroupK

* Priority for derived SemigroupK given instances

* Port scala 2 MonoidK tests to scala 3

* Various improvements

- ImplicitNotFound error for SemigroupK/MonoidK
- Replace given priority via traits with NotGiven

* Use inline in tests

* SemigroupK/MonoidK test for derives syntax
* Port SemigroupK and MonoidK to new derivation scheme

* WIP port of SemigroupK suite to scala 3

* Nested derivations for SemigroupK

* Priority for derived SemigroupK given instances

* Port scala 2 MonoidK tests to scala 3

* Various improvements

- ImplicitNotFound error for SemigroupK/MonoidK
- Replace given priority via traits with NotGiven

* Use inline in tests

* SemigroupK/MonoidK test for derives syntax

* Port Contravariant to new derivation scheme

* WIP port scala 2 Contravariant tests to scala 3

* Link commented out tests to issues

* derives syntax tests for Contravariant

* derives syntax tests for Contravariant

* Scala 3 import syntax
* Port invariant derivation to new scheme

* Port scala 2 invariant tests to scala 3

* Consistent test naming

* WIP extra Invariant instances

* Tests for invariant derivation syntax
* Port invariant derivation to new scheme

* Port scala 2 invariant tests to scala 3

* Consistent test naming

* WIP extra Invariant instances

* Tests for invariant derivation syntax

* Rename partial order derivation

* Port partial order derivation to new scheme

* Rename to PartialOrderSuite

* Port scala 2 partial order suite to scala 3

Co-authored-by: Georgi Krastev <joro.kr.21@gmail.com>
* Replace all usages of implicit with given for Scala 3

Also use braceless syntax in more places.

* Scala 3 all the tests

Co-authored-by: Georgi Krastev <joro.kr.21@gmail.com>
* WIP derive ShowPretty

* Derive ShowPretty

* Derive ShowPretty WIP

* Fix show pretty derivations
Define companion object as scala/scala3#15391
isn't released yet
* Test with scala 3 enums

* More enum tests

* Fix typo

* Add other branches to test enums

* Simplify recursive Gen logic
* Cross-build for Native

* Bump munit version

* Bump cats

* Update auto instance implicit error messages

Co-authored-by: Georgi Krastev <joro.kr.21@gmail.com>
* Upgrade to Scala 3.2

Contains a load of fixes that we need, particularly for Mirror synthesis

* Regenerate GH workflow

* Update the rest of dependencies

Co-authored-by: Georgi Krastev <joro.kr.21@gmail.com>
* Scala 3 docs

* Typo

* Clarify type constructor field limitations

* Extra clarification on the combination of auto and semiauto

* Apply suggestions from code review

Co-authored-by: Georgi Krastev <joro.kr.21@gmail.com>
@mergify mergify bot added the core label Sep 9, 2022
@joroKr21 joroKr21 merged commit 014ed4a into typelevel:master Sep 12, 2022
@joroKr21 joroKr21 deleted the dotty branch September 12, 2022 23:48
@joroKr21 joroKr21 restored the dotty branch September 14, 2022 15:17
@mergify
Copy link
Contributor

mergify bot commented Sep 14, 2022

⚠️ The sha of the head commit of this PR conflicts with #518. Mergify cannot evaluate rules on this PR. ⚠️

@joroKr21 joroKr21 deleted the dotty branch September 14, 2022 15:38
@joroKr21 joroKr21 added this to the 3.0.0 milestone Sep 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants