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 a qcheck upper bound for preface.1.0.0 #27473

Merged
merged 1 commit into from
Feb 26, 2025

Conversation

jmid
Copy link
Contributor

@jmid jmid commented Feb 18, 2025

preface.1.0.0 is incompatible with qcheck.0.24 as observed in #27468. This PR therefore adds an upper bound.

In more detail: qcheck.0.24 adding missing result combinators in c-cube/qcheck#308 which cause a signature clash with the handwritten result combinator already present in preface.1.0.0
https://github.com/xvw/preface/blob/b7f5210830b7916033c56ede6108c2c439c31cdf/test/preface_qcheck/gen.ml#L66-L68 and thus resulting in the error message:

# Error: The implementation test/preface_qcheck/gen.ml
#        does not match the interface test/preface_qcheck/.preface_qcheck.objs/byte/preface_qcheck__Gen.cmi:
#         Values do not match:
#           val result :
#             ?distribution:float ->
#             (Random.State.t -> 'a) ->
#             (Random.State.t -> 'b) -> Random.State.t -> ('a, 'b) result
#         is not included in
#           val result : ?ratio:float -> 'a t -> 'e t -> ('a, 'e) result t
#         The type
#           ?distribution:float ->
#           (Random.State.t -> 'a) ->
#           (Random.State.t -> 'b) -> Random.State.t -> ('a, 'b) result
#         is not compatible with the type
#           ?ratio:float -> 'c t -> 'd t -> ('c, 'd) result t
#         File "test/preface_qcheck/gen.mli", line 61, characters 8-56:
#           Expected declaration
#         File "test/preface_qcheck/gen.ml", line 66, characters 4-10:
#           Actual declaration

To confirm that this PR indeed fixes the above, I'll be happy to wait and rebase it on master once #27468 is merged.

@jmid
Copy link
Contributor Author

jmid commented Feb 24, 2025

There's one failure on opam.2.0 running ocaml.4.14, due to a timeout:

/home/opam: (run (network host)
                 (shell "(opam depext --with-test preface.1.0.0 && opam reinstall --with-test preface.1.0.0) || true"))
# Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian
# No extra OS packages requirements found.
# All required OS packages found.
[ERROR] Sorry, resolution of the request timed out.
        Try to specify a simpler request, use a different solver, or increase the allowed time by setting OPAMSOLVERTIMEOUT to a bigger value (currently, it is set to 60.0 seconds).

@raphael-proust
Copy link
Contributor

thanks ❤️

@raphael-proust raphael-proust merged commit 10296d9 into ocaml:master Feb 26, 2025
2 of 3 checks passed
@jmid jmid deleted the preface-qcheck-upper-bound branch February 26, 2025 17:05
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