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

Add OCaml 4.14 support #244

Merged
merged 3 commits into from
Nov 29, 2021
Merged

Add OCaml 4.14 support #244

merged 3 commits into from
Nov 29, 2021

Conversation

kit-ty-kate
Copy link
Contributor

This fixes issue with OCaml 4.14 whose handling of intersection between classes and subtyping in the type-checker has changed from previous version. See ocaml/ocaml#10773

Fix from @Octachron

Co-authored-by: Florian Angeletti <[email protected]>
@Octachron
Copy link
Contributor

To give some more context: currently the Struct_module proxy compiles on version of OCaml anterior to 4.14 because the explicit coercion

method resolver = (self :> C.struct_resolver)

imports an explicit type annotation for the set_blocker method in a timely but ad-hoc fashion.
This specific behavior is brittle and changed in 4.14.
The fix proposed by @kit-ty-kate solves the issue by making the constraint on the self type of the init class much more explicit.

@talex5 talex5 merged commit 1b86b02 into mirage:master Nov 29, 2021
@talex5
Copy link
Contributor

talex5 commented Nov 29, 2021

Thanks - that's much clearer indeed!

@kit-ty-kate
Copy link
Contributor Author

@talex5 any chance we could have a release with this fix?

talex5 added a commit to talex5/opam-repository that referenced this pull request Jan 24, 2022
…age and capnp-rpc-lwt (1.2.2)

CHANGES:

- Switch from mirage-{stack,protocols} to tcpip (@MisterDA mirage/capnp-rpc#246).

- Remove deprecated tcpip.unix dependency (@hannesm mirage/capnp-rpc#245).

- Add OCaml 4.14 support (@kit-ty-kate mirage/capnp-rpc#244).
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.

3 participants