-
-
Notifications
You must be signed in to change notification settings - Fork 59
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
Ppxlib.0.26.0 compatibility #400
Conversation
This commit makes the ppx compatible with ppxlib.0.25.0.
bb80eca
to
603fe9a
Compare
There are a couple of cmdliner functions used that are deprecated in 1.1.0, for example Term.info.
I've just added a So I've looked into the CI failures. There are three different kinds of failures: The first one occurs on macos-latest and windows-latest and seems to concern ocamlformat. Is it possible that you only have an ocamlformat binary for linux, so on macos and windows, ocamlformat has to be installed via opam and therefore downgrades ppxlib? If so, that has always been a problem, hasn't it? Or is that new with this PR? The second one is about
On old compilers, that outputs a line before printing the instrumented code, but on new compilers (>= 4.08) it doesn't. Has that always been the case? If not, I'm wondering if that might be somehow related to The third one is the only worrying I'd say and I have no idea where it comes from:
used to yield 0% coverage and now it yields 100% (only on ocaml>=4.08). Do you happen to have some guess what might be happening there? |
Hey @aantron, any chance that you'll have time to have a look at this soon? For me, it would be great if you could have a quick glimpse at the CI to let me know if it's my PR that's breaking the CI (for more details, see my questions in the last comment). Of course, if my PR is breaking it, I'll look into it in more detail to fix it. |
Ping, @aantron? There are further changes to ppxlib that would require bisect_ppx fixes. We can't update further until this PR goes out. Hope you have time to look at it soon! |
In local development (on #405 branch), I'm getting this as well in the diff tests, it's the only problem left with |
Thanks for pointing that out @quinn-dougherty! I've just had a look and get the same diff (about coverage in |
Hey @aantron , there start to be more and more problems due to having this PR pending, see e.g. this issue and this comment. Would it be possible to merge this? |
Just got this error:
|
It has been replaced by |
@ceastlund Thank you! For now I just replaced it with the new name (OCaml is not an area of my expertise at all), but it failed a bit further on:
|
|
Hi @barracuda156 and @ceastlund, given the problems that currently make it very difficult to have I was originally thinking that it would be good, first to merge and release this PR to have a |
Doesn't work with ppxlib 0.26.0, and other packages are forcing that as a minimum. Can be restored once aantron/bisect_ppx#400 is solved upstream Signed-off-by: Edwin Török <edwin.torok@cloud.com>
Doesn't work with ppxlib 0.26.0, and other packages are forcing that as a minimum. Can be restored once aantron/bisect_ppx#400 is solved upstream Signed-off-by: Edwin Török <edwin.torok@cloud.com>
Doesn't work with ppxlib 0.26.0, and other packages are forcing that as a minimum. Can be restored once aantron/bisect_ppx#400 is solved upstream Signed-off-by: Edwin Török <edwin.torok@cloud.com>
Hi @aantron, a kind reminder and update on this: This PR makes |
@pitag-ha Thanks to you and everyone! I am working through bit rot issues in some of my other repos, and will reach Bisect_ppx in a few days. Then I will fix this and any other issues. Thanks for all the discussions, info, and links to date! |
Doesn't work with ppxlib 0.26.0, and other packages are forcing that as a minimum. Can be restored once aantron/bisect_ppx#400 is solved upstream Signed-off-by: Edwin Török <edwin.torok@cloud.com>
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 your work and patience!
This PR looks good. I see the same failures in CI (and locally). They are not related to this PR. I'll work to address them outside this PR.
@@ -22,7 +22,7 @@ depends: [ | |||
"cmdliner" {>= "1.0.0"} | |||
"dune" {>= "2.7.0"} | |||
"ocaml" {>= "4.03.0"} | |||
"ppxlib" {>= "0.21.0"} | |||
"ppxlib" {>= "0.26.0" & < "0.29.0"} |
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.
FYI it appears that after this PR, the right upper constraint is < "0.28.0"
:
File "src/ppx/instrument.mli", line 8, characters 11-57:
8 | inherit Ppxlib.Ast_traverse.map_with_expansion_context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: Unbound class type Ppxlib.Ast_traverse.map_with_expansion_context
However, I'll probably try to port Bisect to 0.28.0 rather than add the constraint. @pitag-ha, do you know if people need a release of Bisect that is compatible with ppxlib 0.26.0 and 0.27.0, at this point?
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.
FYI it appears that after this PR, the right upper constraint is < "0.28.0":
Good catch, thanks!
@pitag-ha, do you know if people need a release of Bisect that is compatible with ppxlib 0.26.0 and 0.27.0, at this point?
I think ppxlib >= 0.28.0
support directly should be enough.
@pitag-ha, as the ppxlib maintainer, could you comment on the correctness of patches like https://github.com/anmonteiro/bisect_ppx/commit/cc442a08e3a2e0e18deb48f3a696076ac0986728 for 0.28.0? I am ready to review them from the Bisect point of view and cherry-pick them. |
Thanks for reaching out on that! https://github.com/anmonteiro/bisect_ppx/commit/cc442a08e3a2e0e18deb48f3a696076ac0986728 doesn't handle the errors, but drops them. So that was good to have something that would build. However for something we want to merge and release, we should really handle the errors instead of dropping them. You can use the E.g. instead of
you can use the
And then, at the level of the
something along the lines of
|
Let us know if you have any questions about that! |
Doesn't work with ppxlib 0.26.0, and other packages are forcing that as a minimum. Can be restored once aantron/bisect_ppx#400 is solved upstream Signed-off-by: Edwin Török <edwin.torok@cloud.com>
This is a patch PR to make the PPX compatible with ppxlib.0.26.0 which has bumped the AST to 4.14/5.00.