Skip to content

[new release] ppx_deriving (5.3.0)#25458

Closed
NathanReb wants to merge 1 commit intoocaml:masterfrom
NathanReb:release-ppx_deriving-5.3.0
Closed

[new release] ppx_deriving (5.3.0)#25458
NathanReb wants to merge 1 commit intoocaml:masterfrom
NathanReb:release-ppx_deriving-5.3.0

Conversation

@NathanReb
Copy link
Contributor

Type-driven code generation for OCaml

CHANGES:

CHANGES:

* Port standard plugins to ppxlib registration and attributes
  ocaml-ppx/ppx_deriving#263
  (Simmo Saan)

* Optimize forwarding in eq and ord plugins
  ocaml-ppx/ppx_deriving#252
  (Simmo Saan)

* Delegate quoter to ppxlib
  ocaml-ppx/ppx_deriving#263
  (Simmo Saan)

* Introduce `Ppx_deriving_runtime.Stdlib` with OCaml >= 4.07.
  This module already exists in OCaml < 4.07 but was missing otherwise.
  ocaml-ppx/ppx_deriving#258
  (Kate Deplaix)
@sim642
Copy link
Contributor

sim642 commented Mar 12, 2024

As I feared, ocaml-ppx/ppx_deriving#263 leads to a lot of revdep breakage, despite the effort to maintain compatibility.

So far the big one appears to be ppx_let which declares the map extension and ppx_deriving.5.3.0 which declares the derive.map extension. I wonder how these things have co-existed so far and what could be done about it. [%map: ...] from ppx_deriving doesn't appear to be used on sherlocode (not sure what the use case for it would be), so maybe it could be removed.

I can look through all the failures soon.

@NathanReb
Copy link
Contributor Author

It appears the main problem is the with_path argument to ppx_deriving.show thing, I'll look into fixing that.

@NathanReb
Copy link
Contributor Author

The conflicting extension thing should be fixable with prefixes, I'm a bit surprised it's causing trouble at that level.

Is it because ppx_let is recording it without a prefix? If so I'll open a PR on ppx_let. That won't solve everything I guess as there could be conflicts from the user's perspective, i.e. some code might have to invoke the extension with a prefix but I guess that's okay.

Either way we'll have to cancel this release for now but we should be able to come up with a couple fixes that should make it usable. Probably worth releasing it as a 6.0 instead if it does break some stuff.

@sim642
Copy link
Contributor

sim642 commented Mar 12, 2024

It appears the main problem is the with_path argument to ppx_deriving.show thing, I'll look into fixing that.

ppx_deriving has tests for it though, which makes this odd.

@sim642
Copy link
Contributor

sim642 commented Mar 12, 2024

The issue with with_path is when it's used for deriving in signatures. In my PR, intf_generator for show doesn't take arguments, only impl_generator does.
I guess we should just allow the argument also in signatures, even though it has no effect there.

@NathanReb
Copy link
Contributor Author

Yeah we probably should as it apparently used to define it there before. I'll work on a fix!

In the meantime I opened janestreet/ppx_let#14!

@NathanReb
Copy link
Contributor Author

Let's close this for now, we'll re-release once we have fixed everything!

@NathanReb NathanReb closed this Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants