-
Notifications
You must be signed in to change notification settings - Fork 448
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
Implement sealed class Lenses #3359
Implement sealed class Lenses #3359
Conversation
Signed-off-by: Maksym Moroz <maksymmoroz@duck.com>
5b97025
to
fb9c6dd
Compare
@maksym-moroz can you run the |
@serras I did just that and it didn't show any issues with build |
The automatic Spotless commit was not working, I've done it manually. This should (hopefully) turn the build green. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this great work. Not only implementing the feature, but also cleaning the code a bit on the go :)
I've left a few comments about things (mostly tests) that I think should be in the code before merging it in main
.
arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/LensTests.kt
Outdated
Show resolved
Hide resolved
Documentation related to arrow-kt/arrow#3359
Addresses #2829
Implement and enable Lens generation for sealed class properties when these properties are abstract and without extension receiver, subclasses are data classes that override properties in the constructor.
If that's not the case emit an info log message explaining why Lens is not being generated.
Additional cleanup to target logic.
All tests pass