Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,14 @@ jobs:
- ubuntu-latest
- macos-latest
- windows-latest
ocaml:
- "4.14"
- "5.0"
- "5.1"
- "5.2"
- "5.3"
- "5.4"
- "5.5"

runs-on: ${{ matrix.os }}

Expand All @@ -25,7 +33,7 @@ jobs:
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: "5.3"
ocaml-compiler: ${{ matrix.ocaml }}

- run: opam install . --deps-only --with-test

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
*.install
_build
_opam
check/src/io.ml
# tests output
*.out
*.err
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,9 @@ For more information, see the [User documentation](docs/USER_DOC.md)

## Requirements

- Currently tested and working on **OCaml 5.3**
- Currently tested and working on **OCaml 4.14 - 5.5**
- **dune >= 3.20**
- **cppo**


## Install
Expand Down
32 changes: 32 additions & 0 deletions check/classic/classic.exp
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,9 @@ Nothing else to report in this section
./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:7: ?duplicate

./examples/using_dune/unwrapped_lib/style/style.ml:3: ?opt
./examples/using_dune/unwrapped_lib/style/style.ml:28: ?opt
./examples/using_dune/unwrapped_lib/style/style.ml:33: ?opt
./examples/using_dune/unwrapped_lib/style/style.ml:36: ?opt

./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?never
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?never
Expand Down Expand Up @@ -620,6 +623,9 @@ Nothing else to report in this section
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:7: ?duplicate

./examples/using_dune/wrapped_lib/style/style.ml:3: ?opt
./examples/using_dune/wrapped_lib/style/style.ml:28: ?opt
./examples/using_dune/wrapped_lib/style/style.ml:33: ?opt
./examples/using_dune/wrapped_lib/style/style.ml:36: ?opt

./examples/using_make/dir/alias_opt.ml:2: ?b
./examples/using_make/dir/alias_opt.ml:11: ?a
Expand Down Expand Up @@ -706,6 +712,19 @@ Nothing else to report in this section
./examples/using_dune/unwrapped_lib/style/style.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:4: let () = ... in ... (=> use sequence)
./examples/using_dune/unwrapped_lib/style/style.ml:5: let x = ... in x (=> useless binding)
./examples/using_dune/unwrapped_lib/style/style.ml:11: let x = ... in x (=> useless binding)
./examples/using_dune/unwrapped_lib/style/style.ml:18: let x = ... in x (=> useless binding)
./examples/using_dune/unwrapped_lib/style/style.ml:28: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:31: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:36: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:38: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:41: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:47: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:55: let () = ... in ... (=> use sequence)
./examples/using_dune/unwrapped_lib/style/style.ml:55: unit pattern constrained_unit_binding
./examples/using_dune/unwrapped_lib/style/style.ml:59: let () = ... in ... (=> use sequence)
./examples/using_dune/unwrapped_lib/style/style.ml:59: unit pattern constrained_unit_binding
./examples/using_dune/unwrapped_lib/style/style.ml:63: unit pattern param

./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand All @@ -717,6 +736,19 @@ Nothing else to report in this section
./examples/using_dune/wrapped_lib/style/style.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:4: let () = ... in ... (=> use sequence)
./examples/using_dune/wrapped_lib/style/style.ml:5: let x = ... in x (=> useless binding)
./examples/using_dune/wrapped_lib/style/style.ml:11: let x = ... in x (=> useless binding)
./examples/using_dune/wrapped_lib/style/style.ml:18: let x = ... in x (=> useless binding)
./examples/using_dune/wrapped_lib/style/style.ml:28: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:31: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:36: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:38: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:41: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:47: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:55: let () = ... in ... (=> use sequence)
./examples/using_dune/wrapped_lib/style/style.ml:55: unit pattern constrained_unit_binding
./examples/using_dune/wrapped_lib/style/style.ml:59: let () = ... in ... (=> use sequence)
./examples/using_dune/wrapped_lib/style/style.ml:59: unit pattern constrained_unit_binding
./examples/using_dune/wrapped_lib/style/style.ml:63: unit pattern param

./examples/using_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand Down
46 changes: 42 additions & 4 deletions check/classic/classic.ref
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,9 @@ Nothing else to report in this section
./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:8: ?duplicate
./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:17: ?type_used

./examples/using_dune/unwrapped_lib/style/style.ml:38: ?opt: Should not be detected
./examples/using_dune/unwrapped_lib/style/style.ml:43: ?opt: Should not be detected
./examples/using_dune/unwrapped_lib/style/style.ml:47: ?opt: Should not be detected
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?always
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?always
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?always
Expand Down Expand Up @@ -463,6 +466,9 @@ Nothing else to report in this section
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:8: ?duplicate
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:17: ?type_used

./examples/using_dune/wrapped_lib/style/style.ml:38: ?opt: Should not be detected
./examples/using_dune/wrapped_lib/style/style.ml:43: ?opt: Should not be detected
./examples/using_dune/wrapped_lib/style/style.ml:47: ?opt: Should not be detected
./examples/using_make/baz.ml:1: ?d
./examples/using_make/baz.ml:5: ?d
./examples/using_make/cond_sel.ml:1: ?a
Expand Down Expand Up @@ -580,6 +586,9 @@ Nothing else to report in this section
./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:7: ?duplicate

./examples/using_dune/unwrapped_lib/style/style.ml:3: ?opt
./examples/using_dune/unwrapped_lib/style/style.ml:28: ?opt
./examples/using_dune/unwrapped_lib/style/style.ml:33: ?opt
./examples/using_dune/unwrapped_lib/style/style.ml:36: ?opt

./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?never
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?never
Expand Down Expand Up @@ -620,6 +629,9 @@ Nothing else to report in this section
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:7: ?duplicate

./examples/using_dune/wrapped_lib/style/style.ml:3: ?opt
./examples/using_dune/wrapped_lib/style/style.ml:28: ?opt
./examples/using_dune/wrapped_lib/style/style.ml:33: ?opt
./examples/using_dune/wrapped_lib/style/style.ml:36: ?opt

./examples/using_make/dir/alias_opt.ml:2: ?b
./examples/using_make/dir/alias_opt.ml:11: ?a
Expand Down Expand Up @@ -706,6 +718,19 @@ Nothing else to report in this section
./examples/using_dune/unwrapped_lib/style/style.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:4: let () = ... in ... (=> use sequence)
./examples/using_dune/unwrapped_lib/style/style.ml:5: let x = ... in x (=> useless binding)
./examples/using_dune/unwrapped_lib/style/style.ml:11: let x = ... in x (=> useless binding)
./examples/using_dune/unwrapped_lib/style/style.ml:18: let x = ... in x (=> useless binding)
./examples/using_dune/unwrapped_lib/style/style.ml:28: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:31: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:36: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:38: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:41: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:47: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:55: let () = ... in ... (=> use sequence)
./examples/using_dune/unwrapped_lib/style/style.ml:55: unit pattern constrained_unit_binding
./examples/using_dune/unwrapped_lib/style/style.ml:59: let () = ... in ... (=> use sequence)
./examples/using_dune/unwrapped_lib/style/style.ml:59: unit pattern constrained_unit_binding
./examples/using_dune/unwrapped_lib/style/style.ml:63: unit pattern param

./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand All @@ -717,6 +742,19 @@ Nothing else to report in this section
./examples/using_dune/wrapped_lib/style/style.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:4: let () = ... in ... (=> use sequence)
./examples/using_dune/wrapped_lib/style/style.ml:5: let x = ... in x (=> useless binding)
./examples/using_dune/wrapped_lib/style/style.ml:11: let x = ... in x (=> useless binding)
./examples/using_dune/wrapped_lib/style/style.ml:18: let x = ... in x (=> useless binding)
./examples/using_dune/wrapped_lib/style/style.ml:28: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:31: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:36: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:38: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:41: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:47: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:55: let () = ... in ... (=> use sequence)
./examples/using_dune/wrapped_lib/style/style.ml:55: unit pattern constrained_unit_binding
./examples/using_dune/wrapped_lib/style/style.ml:59: let () = ... in ... (=> use sequence)
./examples/using_dune/wrapped_lib/style/style.ml:59: unit pattern constrained_unit_binding
./examples/using_dune/wrapped_lib/style/style.ml:63: unit pattern param

./examples/using_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand All @@ -732,7 +770,7 @@ Nothing else to report in this section
--------------------------------------------------------------------------------


Total: 603
Success: 603
Failed: 0
Ratio: 100.%
Total: 641
Success: 635
Failed: 6
Ratio: 99.0639625585%
32 changes: 32 additions & 0 deletions check/internal/internal.exp
Original file line number Diff line number Diff line change
Expand Up @@ -532,6 +532,9 @@ Nothing else to report in this section
./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:7: ?duplicate

./examples/using_dune/unwrapped_lib/style/style.ml:3: ?opt
./examples/using_dune/unwrapped_lib/style/style.ml:28: ?opt
./examples/using_dune/unwrapped_lib/style/style.ml:33: ?opt
./examples/using_dune/unwrapped_lib/style/style.ml:36: ?opt

./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?never
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?never
Expand Down Expand Up @@ -572,6 +575,9 @@ Nothing else to report in this section
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:7: ?duplicate

./examples/using_dune/wrapped_lib/style/style.ml:3: ?opt
./examples/using_dune/wrapped_lib/style/style.ml:28: ?opt
./examples/using_dune/wrapped_lib/style/style.ml:33: ?opt
./examples/using_dune/wrapped_lib/style/style.ml:36: ?opt

./examples/using_make/dir/alias_opt.ml:2: ?b
./examples/using_make/dir/alias_opt.ml:11: ?a
Expand Down Expand Up @@ -658,6 +664,19 @@ Nothing else to report in this section
./examples/using_dune/unwrapped_lib/style/style.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:4: let () = ... in ... (=> use sequence)
./examples/using_dune/unwrapped_lib/style/style.ml:5: let x = ... in x (=> useless binding)
./examples/using_dune/unwrapped_lib/style/style.ml:11: let x = ... in x (=> useless binding)
./examples/using_dune/unwrapped_lib/style/style.ml:18: let x = ... in x (=> useless binding)
./examples/using_dune/unwrapped_lib/style/style.ml:28: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:31: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:36: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:38: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:41: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:47: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/unwrapped_lib/style/style.ml:55: let () = ... in ... (=> use sequence)
./examples/using_dune/unwrapped_lib/style/style.ml:55: unit pattern constrained_unit_binding
./examples/using_dune/unwrapped_lib/style/style.ml:59: let () = ... in ... (=> use sequence)
./examples/using_dune/unwrapped_lib/style/style.ml:59: unit pattern constrained_unit_binding
./examples/using_dune/unwrapped_lib/style/style.ml:63: unit pattern param

./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand All @@ -669,6 +688,19 @@ Nothing else to report in this section
./examples/using_dune/wrapped_lib/style/style.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:4: let () = ... in ... (=> use sequence)
./examples/using_dune/wrapped_lib/style/style.ml:5: let x = ... in x (=> useless binding)
./examples/using_dune/wrapped_lib/style/style.ml:11: let x = ... in x (=> useless binding)
./examples/using_dune/wrapped_lib/style/style.ml:18: let x = ... in x (=> useless binding)
./examples/using_dune/wrapped_lib/style/style.ml:28: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:31: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:36: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:38: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:41: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:47: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_dune/wrapped_lib/style/style.ml:55: let () = ... in ... (=> use sequence)
./examples/using_dune/wrapped_lib/style/style.ml:55: unit pattern constrained_unit_binding
./examples/using_dune/wrapped_lib/style/style.ml:59: let () = ... in ... (=> use sequence)
./examples/using_dune/wrapped_lib/style/style.ml:59: unit pattern constrained_unit_binding
./examples/using_dune/wrapped_lib/style/style.ml:63: unit pattern param

./examples/using_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ...
Expand Down
Loading