-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[new release] ppx_matches (0.1.0) #28755
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
base: master
Are you sure you want to change the base?
Conversation
| bug-reports: "https://github.com/johnyob/ppx-matches/issues" | ||
| depends: [ | ||
| "ocaml" {>= "4.14.0"} | ||
| "dune" {>= "3.6" & >= "3.6"} |
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.
| "dune" {>= "3.6" & >= "3.6"} | |
| "dune" {>= "3.6"} |
Minor nit. As I recall this is a known bug caused by dune's opam-file generation.
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.
| depends: [ | ||
| "ocaml" {>= "4.14.0"} | ||
| "dune" {>= "3.6" & >= "3.6"} | ||
| "ppxlib" |
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.
| "ppxlib" | |
| "ppxlib" {>= "0.31.0"} |
There are lower bounds failures, e.g.,on 5.0 when using ppxlib.0.25.1:
#=== ERROR while compiling ppx_matches.0.1.0 ==================================#
# context 2.4.1 | linux/x86_64 | ocaml-base-compiler.5.0.0 | pinned(https://github.com/johnyob/ppx-matches/releases/download/0.1.0/ppx_matches-0.1.0.tbz)
# path ~/.opam/5.0/.opam-switch/build/ppx_matches.0.1.0
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p ppx_matches -j 255 @install
# exit-code 1
# env-file ~/.opam/log/ppx_matches-7-dcebaf.env
# output-file ~/.opam/log/ppx_matches-7-dcebaf.out
### output ###
# (cd _build/default && /home/opam/.opam/5.0/bin/ocamlc.opt -w -40 -g -bin-annot -I src/.ppx_matches.objs/byte -I /home/opam/.opam/5.0/lib/base -I /home/opam/.opam/5.0/lib/base/base_internalhash_types -I /home/opam/.opam/5.0/lib/base/caml -I /home/opam/.opam/5.0/lib/base/md5 -I /home/opam/.opam/5.0/lib/base/shadow_stdlib -I /home/opam/.opam/5.0/lib/base_bigstring -I /home/opam/.opam/5.0/lib/base_quickcheck -I /home/opam/.opam/5.0/lib/base_quickcheck/ppx_quickcheck/runtime -I /home/opam/.opam/5.0/lib/bin_prot -I /home/opam/.opam/5.0/lib/bin_prot/shape -I /home/opam/.opam/5.0/lib/core -I /home/opam/.opam/5.0/lib/core/base_for_tests -I /home/opam/.opam/5.0/lib/core/validate -I /home/opam/.opam/5.0/lib/fieldslib -I /home/opam/.opam/5.0/lib/int_repr -I /home/opam/.opam/5.0/lib/jane-street-headers -I /home/opam/.opam/5.0/lib/ocaml-compiler-libs/common -I /home/opam/.opam/5.0/lib/ocaml-compiler-libs/shadow -I /home/opam/.opam/5.0/lib/ocaml/compiler-libs -I /home/opam/.opam/5.0/lib/parsexp -I /home/opam/.opam/5.0/lib/ppx_assert/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_bench/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_compare/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_derivers -I /home/opam/.opam/5.0/lib/ppx_enumerate/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_expect/collector -I /home/opam/.opam/5.0/lib/ppx_expect/common -I /home/opam/.opam/5.0/lib/ppx_expect/config -I /home/opam/.opam/5.0/lib/ppx_expect/config_types -I /home/opam/.opam/5.0/lib/ppx_hash/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_here/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_inline_test/config -I /home/opam/.opam/5.0/lib/ppx_inline_test/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_log/types -I /home/opam/.opam/5.0/lib/ppx_module_timer/runtime -I /home/opam/.opam/5.0/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/5.0/lib/ppxlib -I /home/opam/.opam/5.0/lib/ppxlib/ast -I /home/opam/.opam/5.0/lib/ppxlib/astlib -I /home/opam/.opam/5.0/lib/ppxlib/print_diff -I /home/opam/.opam/5.0/lib/ppxlib/stdppx -I /home/opam/.opam/5.0/lib/ppxlib/traverse_builtins -I /home/opam/.opam/5.0/lib/sexplib -I /home/opam/.opam/5.0/lib/sexplib0 -I /home/opam/.opam/5.0/lib/splittable_random -I /home/opam/.opam/5.0/lib/stdio -I /home/opam/.opam/5.0/lib/stdlib-shims -I /home/opam/.opam/5.0/lib/time_now -I /home/opam/.opam/5.0/lib/typerep -I /home/opam/.opam/5.0/lib/variantslib -intf-suffix .ml -no-alias-deps -o src/.ppx_matches.objs/byte/ppx_matches.cmo -c -impl src/ppx_matches.pp.ml)
# File "src/ppx_matches.ml", line 20, characters 36-53:
# 20 | Option.exists arg_pat ~f:(fun (_type_vars, pat) -> is_binding_pattern pat)
# ^^^^^^^^^^^^^^^^^
# Error: This pattern matches values of type 'a * 'b
# but a pattern was expected which matches values of type
# Ppxlib.pattern = Astlib.Ast_412.Parsetree.pattern
# (cd _build/default && /home/opam/.opam/5.0/bin/ocamlopt.opt -w -40 -g -I src/.ppx_matches.objs/byte -I src/.ppx_matches.objs/native -I /home/opam/.opam/5.0/lib/base -I /home/opam/.opam/5.0/lib/base/base_internalhash_types -I /home/opam/.opam/5.0/lib/base/caml -I /home/opam/.opam/5.0/lib/base/md5 -I /home/opam/.opam/5.0/lib/base/shadow_stdlib -I /home/opam/.opam/5.0/lib/base_bigstring -I /home/opam/.opam/5.0/lib/base_quickcheck -I /home/opam/.opam/5.0/lib/base_quickcheck/ppx_quickcheck/runtime -I /home/opam/.opam/5.0/lib/bin_prot -I /home/opam/.opam/5.0/lib/bin_prot/shape -I /home/opam/.opam/5.0/lib/core -I /home/opam/.opam/5.0/lib/core/base_for_tests -I /home/opam/.opam/5.0/lib/core/validate -I /home/opam/.opam/5.0/lib/fieldslib -I /home/opam/.opam/5.0/lib/int_repr -I /home/opam/.opam/5.0/lib/jane-street-headers -I /home/opam/.opam/5.0/lib/ocaml-compiler-libs/common -I /home/opam/.opam/5.0/lib/ocaml-compiler-libs/shadow -I /home/opam/.opam/5.0/lib/ocaml/compiler-libs -I /home/opam/.opam/5.0/lib/parsexp -I /home/opam/.opam/5.0/lib/ppx_assert/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_bench/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_compare/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_derivers -I /home/opam/.opam/5.0/lib/ppx_enumerate/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_expect/collector -I /home/opam/.opam/5.0/lib/ppx_expect/common -I /home/opam/.opam/5.0/lib/ppx_expect/config -I /home/opam/.opam/5.0/lib/ppx_expect/config_types -I /home/opam/.opam/5.0/lib/ppx_hash/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_here/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_inline_test/config -I /home/opam/.opam/5.0/lib/ppx_inline_test/runtime-lib -I /home/opam/.opam/5.0/lib/ppx_log/types -I /home/opam/.opam/5.0/lib/ppx_module_timer/runtime -I /home/opam/.opam/5.0/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/5.0/lib/ppxlib -I /home/opam/.opam/5.0/lib/ppxlib/ast -I /home/opam/.opam/5.0/lib/ppxlib/astlib -I /home/opam/.opam/5.0/lib/ppxlib/print_diff -I /home/opam/.opam/5.0/lib/ppxlib/stdppx -I /home/opam/.opam/5.0/lib/ppxlib/traverse_builtins -I /home/opam/.opam/5.0/lib/sexplib -I /home/opam/.opam/5.0/lib/sexplib0 -I /home/opam/.opam/5.0/lib/splittable_random -I /home/opam/.opam/5.0/lib/stdio -I /home/opam/.opam/5.0/lib/stdlib-shims -I /home/opam/.opam/5.0/lib/time_now -I /home/opam/.opam/5.0/lib/typerep -I /home/opam/.opam/5.0/lib/variantslib -intf-suffix .ml -no-alias-deps -o src/.ppx_matches.objs/native/ppx_matches.cmx -c -impl src/ppx_matches.pp.ml)
# File "src/ppx_matches.ml", line 20, characters 36-53:
# 20 | Option.exists arg_pat ~f:(fun (_type_vars, pat) -> is_binding_pattern pat)
# ^^^^^^^^^^^^^^^^^
# Error: This pattern matches values of type 'a * 'b
# but a pattern was expected which matches values of type
# Ppxlib.pattern = Astlib.Ast_412.Parsetree.pattern
From the 5.1 lowerbounds workflow I can see ppxlib.0.31.0 works.
The bound is likely somewhere between ppxlib.0.25.1 and ppxlib.0.31.0, which you are very welcome to refine.
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.
Thank you! I ended up just going for ppxlib.0.31.0 as a lower bound :)
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 contribution!
Would you consider adding an x-maintenance-intent entry?
https://github.com/ocaml/opam-repository/blob/master/governance/policies/archiving.md
CHANGES: Initial release
7d73e1f to
9edd659
Compare
A syntax extension for Rust's
matches!in OCaml 🐪CHANGES:
Initial release