Skip to content

OCaml 5.4 support #1057

@kit-ty-kate

Description

@kit-ty-kate

Using OCaml 5.4 (and the upcoming ppxlib 0.37.0~5.4preview), lwt_ppx fails to build with:

#=== ERROR while compiling lwt_ppx.5.9.1 ======================================#                                                                                                                                       
# context     2.4.0~alpha2 | linux/x86_64 | ocaml-base-compiler.5.4.0~alpha1 | https://opam.ocaml.org#584630e7a7e27e3cf56158696a3fe94623a0cf4f                                                                         
# path        ~/.opam/default/.opam-switch/build/lwt_ppx.5.9.1                                                                                                                                                         
# command     ~/.opam/opam-init/hooks/sandbox.sh build dune build -p lwt_ppx -j 31 @install                                                                                                                            
# exit-code   1                                                                                                                                                                                                        
# env-file    ~/.opam/log/lwt_ppx-20663-567f81.env                                                                                                                                                                     
# output-file ~/.opam/log/lwt_ppx-20663-567f81.out                                                                                                                                                                     
### output ###                                                                                                                                                                                                         
# Error: The value cases has type Ppxlib.case list                                                                                                                                                                     
# [...]                                                                                                                                                                                                                
# (cd _build/default && /home/opam-health-check/.opam/default/bin/ocamlc.opt -w -40 -w +A-4 -g -bin-annot -bin-annot-occurrences -I src/ppx/.ppx_lwt.objs/byte -I /home/opam-health-check/.opam/default/lib/ocaml-compi
ler-libs/common -I /home/opam-health-check/.opam/default/lib/ocaml-compiler-libs/shadow -I /home/opam-health-check/.opam/default/lib/ocaml/compiler-libs -I /home/opam-health-check/.o[...]                            
# File "src/ppx/ppx_lwt.ml", line 147, characters 54-59:                                                                                                                                                               
# 147 |         [%expr Lwt.bind [%e e] [%e pexp_function ~loc cases]]                                                                                                                                                  
#                                                             ^^^^^                                                                                                                                                    
# Error: The value cases has type Ppxlib.case list                                                                                                                                                                     
#        but an expression was expected of type                                                                                                                                                                        
#          Ppxlib__.Import.function_param list                                                                                                                                                                         
#        Type Ppxlib.case = Astlib.Ast_502.Parsetree.case                                                                                                                                                              
#        is not compatible with type                                                                                                                                                                                   
#          Ppxlib__.Import.function_param =                                                                                                                                                                            
#            Astlib.Ast_502.Parsetree.function_param                                                                                                                                                                   

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions