From 98675e6c048188d6e5f71e05104f24fc4f7a665e Mon Sep 17 00:00:00 2001 From: Corentin De Souza <9597216+fantazio@users.noreply.github.com> Date: Tue, 25 Nov 2025 15:50:17 +0100 Subject: [PATCH 1/4] [examples][dune] move all unwrapped_lib uses in a subdir This is in preparation of adding a `wrapped_lib` that will follow the same architecture and usage as `unwrapped_lib`. Having both mixed together in `bin/` would be too noisy. Hence, creating a `bin/use_unwrapped_lib` subdir will isolate their use. Later, a `bin/use_wrapped_lib` will do as well. --- check/threshold-1/threshold-1.exp | 27 +++++++++-------- check/threshold-1/threshold-1.ref | 29 ++++++++++--------- check/threshold-3-0.5/threshold-3-0.5.exp | 27 +++++++++-------- check/threshold-3-0.5/threshold-3-0.5.ref | 29 ++++++++++--------- examples/using_dune/bin/dune | 2 +- .../using_dune/bin/use_unwrapped_lib/dune | 4 +++ .../use_constructors.ml | 0 .../use_constructors.mli | 0 .../{ => use_unwrapped_lib}/use_mixed_args.ml | 0 .../use_mixed_args.mli | 0 .../{ => use_unwrapped_lib}/use_opt_args.ml | 0 .../{ => use_unwrapped_lib}/use_opt_args.mli | 0 .../use_opt_args_in_higher_order_fun.ml | 0 .../use_opt_args_in_higher_order_fun.mli | 0 .../{ => use_unwrapped_lib}/use_records.ml | 0 .../{ => use_unwrapped_lib}/use_records.mli | 0 .../bin/{ => use_unwrapped_lib}/use_style.ml | 0 .../bin/{ => use_unwrapped_lib}/use_style.mli | 0 .../use_unwrapped_lib/use_unwrapped_lib.ml | 25 ++++++++++++++++ .../use_unwrapped_lib.mli} | 0 .../bin/{ => use_unwrapped_lib}/use_values.ml | 0 .../{ => use_unwrapped_lib}/use_values.mli | 0 .../use_values_in_submodules.ml | 0 .../use_values_in_submodules.mli} | 0 .../use_values_in_submodules_no_intf.ml | 0 .../use_values_in_submodules_no_intf.mli} | 0 .../use_values_no_intf.ml | 0 .../use_values_no_intf.mli | 0 .../{ => use_unwrapped_lib}/use_with_class.ml | 0 .../use_with_class.mli} | 0 .../use_without_class.ml | 0 .../use_unwrapped_lib/use_without_class.mli | 2 ++ examples/using_dune/bin/using_dune.ml | 21 +------------- 33 files changed, 93 insertions(+), 73 deletions(-) create mode 100644 examples/using_dune/bin/use_unwrapped_lib/dune rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_constructors.ml (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_constructors.mli (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_mixed_args.ml (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_mixed_args.mli (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_opt_args.ml (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_opt_args.mli (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_opt_args_in_higher_order_fun.ml (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_opt_args_in_higher_order_fun.mli (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_records.ml (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_records.mli (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_style.ml (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_style.mli (100%) create mode 100644 examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.ml rename examples/using_dune/bin/{use_values_in_submodules.mli => use_unwrapped_lib/use_unwrapped_lib.mli} (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_values.ml (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_values.mli (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_values_in_submodules.ml (100%) rename examples/using_dune/bin/{use_values_in_submodules_no_intf.mli => use_unwrapped_lib/use_values_in_submodules.mli} (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_values_in_submodules_no_intf.ml (100%) rename examples/using_dune/bin/{use_with_class.mli => use_unwrapped_lib/use_values_in_submodules_no_intf.mli} (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_values_no_intf.ml (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_values_no_intf.mli (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_with_class.ml (100%) rename examples/using_dune/bin/{use_without_class.mli => use_unwrapped_lib/use_with_class.mli} (100%) rename examples/using_dune/bin/{ => use_unwrapped_lib}/use_without_class.ml (100%) create mode 100644 examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli diff --git a/check/threshold-1/threshold-1.exp b/check/threshold-1/threshold-1.exp index 686f758..80dd8c2 100644 --- a/check/threshold-1/threshold-1.exp +++ b/check/threshold-1/threshold-1.exp @@ -55,18 +55,19 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -./examples/using_dune/bin/use_constructors.mli:1: mark_used -./examples/using_dune/bin/use_mixed_args.mli:1: mark_used -./examples/using_dune/bin/use_opt_args.mli:1: mark_used -./examples/using_dune/bin/use_opt_args_in_higher_order_fun.mli:1: mark_used -./examples/using_dune/bin/use_records.mli:1: mark_used -./examples/using_dune/bin/use_style.mli:1: mark_used -./examples/using_dune/bin/use_values.mli:1: mark_used -./examples/using_dune/bin/use_values_in_submodules.mli:1: mark_used -./examples/using_dune/bin/use_values_in_submodules_no_intf.mli:1: mark_used -./examples/using_dune/bin/use_values_no_intf.mli:1: mark_used -./examples/using_dune/bin/use_with_class.mli:1: mark_used -./examples/using_dune/bin/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_constructors.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_opt_args.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_records.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_style.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli:1: mark_used ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg @@ -508,3 +509,5 @@ Nothing else to report in this section Nothing else to report in this section -------------------------------------------------------------------------------- + + diff --git a/check/threshold-1/threshold-1.ref b/check/threshold-1/threshold-1.ref index 0581667..a0b5bb7 100644 --- a/check/threshold-1/threshold-1.ref +++ b/check/threshold-1/threshold-1.ref @@ -55,18 +55,19 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -./examples/using_dune/bin/use_constructors.mli:1: mark_used -./examples/using_dune/bin/use_mixed_args.mli:1: mark_used -./examples/using_dune/bin/use_opt_args.mli:1: mark_used -./examples/using_dune/bin/use_opt_args_in_higher_order_fun.mli:1: mark_used -./examples/using_dune/bin/use_records.mli:1: mark_used -./examples/using_dune/bin/use_style.mli:1: mark_used -./examples/using_dune/bin/use_values.mli:1: mark_used -./examples/using_dune/bin/use_values_in_submodules.mli:1: mark_used -./examples/using_dune/bin/use_values_in_submodules_no_intf.mli:1: mark_used -./examples/using_dune/bin/use_values_no_intf.mli:1: mark_used -./examples/using_dune/bin/use_with_class.mli:1: mark_used -./examples/using_dune/bin/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_constructors.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_opt_args.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_records.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_style.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli:1: mark_used ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg @@ -510,7 +511,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 427 -Success: 427 +Total: 428 +Success: 428 Failed: 0 Ratio: 100.% diff --git a/check/threshold-3-0.5/threshold-3-0.5.exp b/check/threshold-3-0.5/threshold-3-0.5.exp index 965b7f9..504d2c6 100644 --- a/check/threshold-3-0.5/threshold-3-0.5.exp +++ b/check/threshold-3-0.5/threshold-3-0.5.exp @@ -55,18 +55,19 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -./examples/using_dune/bin/use_constructors.mli:1: mark_used -./examples/using_dune/bin/use_mixed_args.mli:1: mark_used -./examples/using_dune/bin/use_opt_args.mli:1: mark_used -./examples/using_dune/bin/use_opt_args_in_higher_order_fun.mli:1: mark_used -./examples/using_dune/bin/use_records.mli:1: mark_used -./examples/using_dune/bin/use_style.mli:1: mark_used -./examples/using_dune/bin/use_values.mli:1: mark_used -./examples/using_dune/bin/use_values_in_submodules.mli:1: mark_used -./examples/using_dune/bin/use_values_in_submodules_no_intf.mli:1: mark_used -./examples/using_dune/bin/use_values_no_intf.mli:1: mark_used -./examples/using_dune/bin/use_with_class.mli:1: mark_used -./examples/using_dune/bin/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_constructors.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_opt_args.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_records.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_style.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli:1: mark_used ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg @@ -727,3 +728,5 @@ Nothing else to report in this section Nothing else to report in this section -------------------------------------------------------------------------------- + + diff --git a/check/threshold-3-0.5/threshold-3-0.5.ref b/check/threshold-3-0.5/threshold-3-0.5.ref index 2a87c75..bd8f047 100644 --- a/check/threshold-3-0.5/threshold-3-0.5.ref +++ b/check/threshold-3-0.5/threshold-3-0.5.ref @@ -55,18 +55,19 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -./examples/using_dune/bin/use_constructors.mli:1: mark_used -./examples/using_dune/bin/use_mixed_args.mli:1: mark_used -./examples/using_dune/bin/use_opt_args.mli:1: mark_used -./examples/using_dune/bin/use_opt_args_in_higher_order_fun.mli:1: mark_used -./examples/using_dune/bin/use_records.mli:1: mark_used -./examples/using_dune/bin/use_style.mli:1: mark_used -./examples/using_dune/bin/use_values.mli:1: mark_used -./examples/using_dune/bin/use_values_in_submodules.mli:1: mark_used -./examples/using_dune/bin/use_values_in_submodules_no_intf.mli:1: mark_used -./examples/using_dune/bin/use_values_no_intf.mli:1: mark_used -./examples/using_dune/bin/use_with_class.mli:1: mark_used -./examples/using_dune/bin/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_constructors.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_opt_args.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_records.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_style.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli:1: mark_used +./examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli:1: mark_used ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg @@ -729,7 +730,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 586 -Success: 586 +Total: 587 +Success: 587 Failed: 0 Ratio: 100.% diff --git a/examples/using_dune/bin/dune b/examples/using_dune/bin/dune index 398458a..7ebeb9c 100644 --- a/examples/using_dune/bin/dune +++ b/examples/using_dune/bin/dune @@ -1,3 +1,3 @@ (executable (name using_dune) - (libraries unwrapped_lib)) + (libraries use_unwrapped_lib)) diff --git a/examples/using_dune/bin/use_unwrapped_lib/dune b/examples/using_dune/bin/use_unwrapped_lib/dune new file mode 100644 index 0000000..3f9c000 --- /dev/null +++ b/examples/using_dune/bin/use_unwrapped_lib/dune @@ -0,0 +1,4 @@ +(library + (name use_unwrapped_lib) + (libraries unwrapped_lib) + (wrapped false)) diff --git a/examples/using_dune/bin/use_constructors.ml b/examples/using_dune/bin/use_unwrapped_lib/use_constructors.ml similarity index 100% rename from examples/using_dune/bin/use_constructors.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_constructors.ml diff --git a/examples/using_dune/bin/use_constructors.mli b/examples/using_dune/bin/use_unwrapped_lib/use_constructors.mli similarity index 100% rename from examples/using_dune/bin/use_constructors.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_constructors.mli diff --git a/examples/using_dune/bin/use_mixed_args.ml b/examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.ml similarity index 100% rename from examples/using_dune/bin/use_mixed_args.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.ml diff --git a/examples/using_dune/bin/use_mixed_args.mli b/examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.mli similarity index 100% rename from examples/using_dune/bin/use_mixed_args.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.mli diff --git a/examples/using_dune/bin/use_opt_args.ml b/examples/using_dune/bin/use_unwrapped_lib/use_opt_args.ml similarity index 100% rename from examples/using_dune/bin/use_opt_args.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_opt_args.ml diff --git a/examples/using_dune/bin/use_opt_args.mli b/examples/using_dune/bin/use_unwrapped_lib/use_opt_args.mli similarity index 100% rename from examples/using_dune/bin/use_opt_args.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_opt_args.mli diff --git a/examples/using_dune/bin/use_opt_args_in_higher_order_fun.ml b/examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.ml similarity index 100% rename from examples/using_dune/bin/use_opt_args_in_higher_order_fun.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.ml diff --git a/examples/using_dune/bin/use_opt_args_in_higher_order_fun.mli b/examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.mli similarity index 100% rename from examples/using_dune/bin/use_opt_args_in_higher_order_fun.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.mli diff --git a/examples/using_dune/bin/use_records.ml b/examples/using_dune/bin/use_unwrapped_lib/use_records.ml similarity index 100% rename from examples/using_dune/bin/use_records.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_records.ml diff --git a/examples/using_dune/bin/use_records.mli b/examples/using_dune/bin/use_unwrapped_lib/use_records.mli similarity index 100% rename from examples/using_dune/bin/use_records.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_records.mli diff --git a/examples/using_dune/bin/use_style.ml b/examples/using_dune/bin/use_unwrapped_lib/use_style.ml similarity index 100% rename from examples/using_dune/bin/use_style.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_style.ml diff --git a/examples/using_dune/bin/use_style.mli b/examples/using_dune/bin/use_unwrapped_lib/use_style.mli similarity index 100% rename from examples/using_dune/bin/use_style.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_style.mli diff --git a/examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.ml b/examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.ml new file mode 100644 index 0000000..78da673 --- /dev/null +++ b/examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.ml @@ -0,0 +1,25 @@ +let () = + Use_values.mark_used (); + Use_values_no_intf.mark_used (); + Use_values_in_submodules.mark_used (); + Use_values_in_submodules_no_intf.mark_used () + +let () = + Use_constructors.mark_used (); + Use_records.mark_used () + +let () = + Use_opt_args.mark_used (); + Use_mixed_args.mark_used (); + Use_opt_args_in_higher_order_fun.mark_used () + +let () = + Use_without_class.mark_used (); + Use_with_class.mark_used () + +let () = + Use_style.mark_used () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_values_in_submodules.mli b/examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.mli similarity index 100% rename from examples/using_dune/bin/use_values_in_submodules.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.mli diff --git a/examples/using_dune/bin/use_values.ml b/examples/using_dune/bin/use_unwrapped_lib/use_values.ml similarity index 100% rename from examples/using_dune/bin/use_values.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_values.ml diff --git a/examples/using_dune/bin/use_values.mli b/examples/using_dune/bin/use_unwrapped_lib/use_values.mli similarity index 100% rename from examples/using_dune/bin/use_values.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_values.mli diff --git a/examples/using_dune/bin/use_values_in_submodules.ml b/examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules.ml similarity index 100% rename from examples/using_dune/bin/use_values_in_submodules.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules.ml diff --git a/examples/using_dune/bin/use_values_in_submodules_no_intf.mli b/examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules.mli similarity index 100% rename from examples/using_dune/bin/use_values_in_submodules_no_intf.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules.mli diff --git a/examples/using_dune/bin/use_values_in_submodules_no_intf.ml b/examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules_no_intf.ml similarity index 100% rename from examples/using_dune/bin/use_values_in_submodules_no_intf.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules_no_intf.ml diff --git a/examples/using_dune/bin/use_with_class.mli b/examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules_no_intf.mli similarity index 100% rename from examples/using_dune/bin/use_with_class.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_values_in_submodules_no_intf.mli diff --git a/examples/using_dune/bin/use_values_no_intf.ml b/examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.ml similarity index 100% rename from examples/using_dune/bin/use_values_no_intf.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.ml diff --git a/examples/using_dune/bin/use_values_no_intf.mli b/examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.mli similarity index 100% rename from examples/using_dune/bin/use_values_no_intf.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.mli diff --git a/examples/using_dune/bin/use_with_class.ml b/examples/using_dune/bin/use_unwrapped_lib/use_with_class.ml similarity index 100% rename from examples/using_dune/bin/use_with_class.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_with_class.ml diff --git a/examples/using_dune/bin/use_without_class.mli b/examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli similarity index 100% rename from examples/using_dune/bin/use_without_class.mli rename to examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli diff --git a/examples/using_dune/bin/use_without_class.ml b/examples/using_dune/bin/use_unwrapped_lib/use_without_class.ml similarity index 100% rename from examples/using_dune/bin/use_without_class.ml rename to examples/using_dune/bin/use_unwrapped_lib/use_without_class.ml diff --git a/examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli b/examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/using_dune.ml b/examples/using_dune/bin/using_dune.ml index 7605e3b..000180a 100644 --- a/examples/using_dune/bin/using_dune.ml +++ b/examples/using_dune/bin/using_dune.ml @@ -1,21 +1,2 @@ let () = - Use_values.mark_used (); - Use_values_no_intf.mark_used (); - Use_values_in_submodules.mark_used (); - Use_values_in_submodules_no_intf.mark_used () - -let () = - Use_constructors.mark_used (); - Use_records.mark_used () - -let () = - Use_opt_args.mark_used (); - Use_mixed_args.mark_used (); - Use_opt_args_in_higher_order_fun.mark_used () - -let () = - Use_without_class.mark_used (); - Use_with_class.mark_used () - -let () = - Use_style.mark_used () + Use_unwrapped_lib.mark_used () From f46606d737f237c005bb488c4cf7f0c9615161b9 Mon Sep 17 00:00:00 2001 From: Corentin De Souza <9597216+fantazio@users.noreply.github.com> Date: Tue, 25 Nov 2025 18:07:14 +0100 Subject: [PATCH 2/4] [examples][dune] move `unwrapped_lib` code under the `lib` dir This is in anticipation of the upcoming `wrapped_lib` directory that would contain the same code as `wrapped_lib` with a different `dune`. To avoid a large copy of all the code, they would both contain symlinks to the `lib`'s subdirs (which actually contain the code). --- .../constructors_and_records/constructors.ml | 0 .../constructors_and_records/constructors.mli | 0 .../{unwrapped_lib => lib}/constructors_and_records/records.ml | 0 .../{unwrapped_lib => lib}/constructors_and_records/records.mli | 0 examples/using_dune/{unwrapped_lib => lib}/obj/with_class.ml | 0 examples/using_dune/{unwrapped_lib => lib}/obj/with_class.mli | 0 examples/using_dune/{unwrapped_lib => lib}/obj/without_class.ml | 0 examples/using_dune/{unwrapped_lib => lib}/obj/without_class.mli | 0 .../using_dune/{unwrapped_lib => lib}/opt_args/mixed_args.ml | 0 .../using_dune/{unwrapped_lib => lib}/opt_args/mixed_args.mli | 0 examples/using_dune/{unwrapped_lib => lib}/opt_args/opt_args.ml | 0 examples/using_dune/{unwrapped_lib => lib}/opt_args/opt_args.mli | 0 .../opt_args/opt_args_in_higher_order_fun.ml | 0 .../opt_args/opt_args_in_higher_order_fun.mli | 0 examples/using_dune/{unwrapped_lib => lib}/style/style.ml | 0 examples/using_dune/{unwrapped_lib => lib}/values/values.ml | 0 examples/using_dune/{unwrapped_lib => lib}/values/values.mli | 0 .../{unwrapped_lib => lib}/values/values_in_submodules.ml | 0 .../{unwrapped_lib => lib}/values/values_in_submodules.mli | 0 .../values/values_in_submodules_no_intf.ml | 0 .../using_dune/{unwrapped_lib => lib}/values/values_no_intf.ml | 0 examples/using_dune/unwrapped_lib/constructors_and_records | 1 + examples/using_dune/unwrapped_lib/obj | 1 + examples/using_dune/unwrapped_lib/opt_args | 1 + examples/using_dune/unwrapped_lib/style | 1 + examples/using_dune/unwrapped_lib/values | 1 + 26 files changed, 5 insertions(+) rename examples/using_dune/{unwrapped_lib => lib}/constructors_and_records/constructors.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/constructors_and_records/constructors.mli (100%) rename examples/using_dune/{unwrapped_lib => lib}/constructors_and_records/records.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/constructors_and_records/records.mli (100%) rename examples/using_dune/{unwrapped_lib => lib}/obj/with_class.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/obj/with_class.mli (100%) rename examples/using_dune/{unwrapped_lib => lib}/obj/without_class.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/obj/without_class.mli (100%) rename examples/using_dune/{unwrapped_lib => lib}/opt_args/mixed_args.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/opt_args/mixed_args.mli (100%) rename examples/using_dune/{unwrapped_lib => lib}/opt_args/opt_args.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/opt_args/opt_args.mli (100%) rename examples/using_dune/{unwrapped_lib => lib}/opt_args/opt_args_in_higher_order_fun.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/opt_args/opt_args_in_higher_order_fun.mli (100%) rename examples/using_dune/{unwrapped_lib => lib}/style/style.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/values/values.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/values/values.mli (100%) rename examples/using_dune/{unwrapped_lib => lib}/values/values_in_submodules.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/values/values_in_submodules.mli (100%) rename examples/using_dune/{unwrapped_lib => lib}/values/values_in_submodules_no_intf.ml (100%) rename examples/using_dune/{unwrapped_lib => lib}/values/values_no_intf.ml (100%) create mode 120000 examples/using_dune/unwrapped_lib/constructors_and_records create mode 120000 examples/using_dune/unwrapped_lib/obj create mode 120000 examples/using_dune/unwrapped_lib/opt_args create mode 120000 examples/using_dune/unwrapped_lib/style create mode 120000 examples/using_dune/unwrapped_lib/values diff --git a/examples/using_dune/unwrapped_lib/constructors_and_records/constructors.ml b/examples/using_dune/lib/constructors_and_records/constructors.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/constructors_and_records/constructors.ml rename to examples/using_dune/lib/constructors_and_records/constructors.ml diff --git a/examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli b/examples/using_dune/lib/constructors_and_records/constructors.mli similarity index 100% rename from examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli rename to examples/using_dune/lib/constructors_and_records/constructors.mli diff --git a/examples/using_dune/unwrapped_lib/constructors_and_records/records.ml b/examples/using_dune/lib/constructors_and_records/records.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/constructors_and_records/records.ml rename to examples/using_dune/lib/constructors_and_records/records.ml diff --git a/examples/using_dune/unwrapped_lib/constructors_and_records/records.mli b/examples/using_dune/lib/constructors_and_records/records.mli similarity index 100% rename from examples/using_dune/unwrapped_lib/constructors_and_records/records.mli rename to examples/using_dune/lib/constructors_and_records/records.mli diff --git a/examples/using_dune/unwrapped_lib/obj/with_class.ml b/examples/using_dune/lib/obj/with_class.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/obj/with_class.ml rename to examples/using_dune/lib/obj/with_class.ml diff --git a/examples/using_dune/unwrapped_lib/obj/with_class.mli b/examples/using_dune/lib/obj/with_class.mli similarity index 100% rename from examples/using_dune/unwrapped_lib/obj/with_class.mli rename to examples/using_dune/lib/obj/with_class.mli diff --git a/examples/using_dune/unwrapped_lib/obj/without_class.ml b/examples/using_dune/lib/obj/without_class.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/obj/without_class.ml rename to examples/using_dune/lib/obj/without_class.ml diff --git a/examples/using_dune/unwrapped_lib/obj/without_class.mli b/examples/using_dune/lib/obj/without_class.mli similarity index 100% rename from examples/using_dune/unwrapped_lib/obj/without_class.mli rename to examples/using_dune/lib/obj/without_class.mli diff --git a/examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml b/examples/using_dune/lib/opt_args/mixed_args.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml rename to examples/using_dune/lib/opt_args/mixed_args.ml diff --git a/examples/using_dune/unwrapped_lib/opt_args/mixed_args.mli b/examples/using_dune/lib/opt_args/mixed_args.mli similarity index 100% rename from examples/using_dune/unwrapped_lib/opt_args/mixed_args.mli rename to examples/using_dune/lib/opt_args/mixed_args.mli diff --git a/examples/using_dune/unwrapped_lib/opt_args/opt_args.ml b/examples/using_dune/lib/opt_args/opt_args.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/opt_args/opt_args.ml rename to examples/using_dune/lib/opt_args/opt_args.ml diff --git a/examples/using_dune/unwrapped_lib/opt_args/opt_args.mli b/examples/using_dune/lib/opt_args/opt_args.mli similarity index 100% rename from examples/using_dune/unwrapped_lib/opt_args/opt_args.mli rename to examples/using_dune/lib/opt_args/opt_args.mli diff --git a/examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml b/examples/using_dune/lib/opt_args/opt_args_in_higher_order_fun.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml rename to examples/using_dune/lib/opt_args/opt_args_in_higher_order_fun.ml diff --git a/examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli b/examples/using_dune/lib/opt_args/opt_args_in_higher_order_fun.mli similarity index 100% rename from examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli rename to examples/using_dune/lib/opt_args/opt_args_in_higher_order_fun.mli diff --git a/examples/using_dune/unwrapped_lib/style/style.ml b/examples/using_dune/lib/style/style.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/style/style.ml rename to examples/using_dune/lib/style/style.ml diff --git a/examples/using_dune/unwrapped_lib/values/values.ml b/examples/using_dune/lib/values/values.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/values/values.ml rename to examples/using_dune/lib/values/values.ml diff --git a/examples/using_dune/unwrapped_lib/values/values.mli b/examples/using_dune/lib/values/values.mli similarity index 100% rename from examples/using_dune/unwrapped_lib/values/values.mli rename to examples/using_dune/lib/values/values.mli diff --git a/examples/using_dune/unwrapped_lib/values/values_in_submodules.ml b/examples/using_dune/lib/values/values_in_submodules.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/values/values_in_submodules.ml rename to examples/using_dune/lib/values/values_in_submodules.ml diff --git a/examples/using_dune/unwrapped_lib/values/values_in_submodules.mli b/examples/using_dune/lib/values/values_in_submodules.mli similarity index 100% rename from examples/using_dune/unwrapped_lib/values/values_in_submodules.mli rename to examples/using_dune/lib/values/values_in_submodules.mli diff --git a/examples/using_dune/unwrapped_lib/values/values_in_submodules_no_intf.ml b/examples/using_dune/lib/values/values_in_submodules_no_intf.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/values/values_in_submodules_no_intf.ml rename to examples/using_dune/lib/values/values_in_submodules_no_intf.ml diff --git a/examples/using_dune/unwrapped_lib/values/values_no_intf.ml b/examples/using_dune/lib/values/values_no_intf.ml similarity index 100% rename from examples/using_dune/unwrapped_lib/values/values_no_intf.ml rename to examples/using_dune/lib/values/values_no_intf.ml diff --git a/examples/using_dune/unwrapped_lib/constructors_and_records b/examples/using_dune/unwrapped_lib/constructors_and_records new file mode 120000 index 0000000..c0f763f --- /dev/null +++ b/examples/using_dune/unwrapped_lib/constructors_and_records @@ -0,0 +1 @@ +../lib/constructors_and_records/ \ No newline at end of file diff --git a/examples/using_dune/unwrapped_lib/obj b/examples/using_dune/unwrapped_lib/obj new file mode 120000 index 0000000..ba3bb73 --- /dev/null +++ b/examples/using_dune/unwrapped_lib/obj @@ -0,0 +1 @@ +../lib/obj/ \ No newline at end of file diff --git a/examples/using_dune/unwrapped_lib/opt_args b/examples/using_dune/unwrapped_lib/opt_args new file mode 120000 index 0000000..2ca34ad --- /dev/null +++ b/examples/using_dune/unwrapped_lib/opt_args @@ -0,0 +1 @@ +../lib/opt_args/ \ No newline at end of file diff --git a/examples/using_dune/unwrapped_lib/style b/examples/using_dune/unwrapped_lib/style new file mode 120000 index 0000000..eb760fa --- /dev/null +++ b/examples/using_dune/unwrapped_lib/style @@ -0,0 +1 @@ +../lib/style/ \ No newline at end of file diff --git a/examples/using_dune/unwrapped_lib/values b/examples/using_dune/unwrapped_lib/values new file mode 120000 index 0000000..2f109b8 --- /dev/null +++ b/examples/using_dune/unwrapped_lib/values @@ -0,0 +1 @@ +../lib/values/ \ No newline at end of file From f83b4d106dfb4424f5fe3d4cd204caad8ef3d5cb Mon Sep 17 00:00:00 2001 From: Corentin De Souza <9597216+fantazio@users.noreply.github.com> Date: Tue, 25 Nov 2025 17:07:55 +0100 Subject: [PATCH 3/4] [examples][dune] fix use_values_no_intf.ml It was referencing a value from `Values` instead of `Values_no_intf`. This value is not included in the results because it is used too often to be reported with the tested thresholds. --- examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.ml b/examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.ml index 44abaf5..3e4cdbe 100644 --- a/examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.ml +++ b/examples/using_dune/bin/use_unwrapped_lib/use_values_no_intf.ml @@ -3,7 +3,7 @@ let () = let _ = Values_no_intf.used_int in Values_no_intf.used_fun (); Values_no_intf.used_alias_fun (); - let _closure = Values.partially_used_fun () in + let _closure = Values_no_intf.partially_used_fun () in let ((), ()) = Values_no_intf.used_closure () () in Values_no_intf._used_underscore_fun () From e20a209bb53deb4c280993e217eb3e9c633f6caf Mon Sep 17 00:00:00 2001 From: Corentin De Souza <9597216+fantazio@users.noreply.github.com> Date: Tue, 25 Nov 2025 17:16:21 +0100 Subject: [PATCH 4/4] [examples][dune] add `wrapped_lib` and its uses `wrapped_lib` is a copy `unwrapped_lib` with a change in the `dune` fields: `(wrapped true)` (instead of `false`). The `use_wrapped_lib` is also a copy of `use_unwrapped_lib` with an extra module indirection to access elements in each `.ml` file. The `.exp` files have been updated by copying the expected reports for the `unwrapped_lib` to define expected reports for the `wrapped_lib`. In the future, new examples should be added in a subdir of `lib`, symlinked in both `unwrapped_lib` and `wrapped_lib`. Consequently, the "copy" property of their reports should hold. The new `.ref` files show that dune's wrapping of module is not an issue for the tracking of optional arguments and stylistic issues. It is only an issue for the default reports. --- check/classic/classic.exp | 154 ++++++++ check/classic/classic.ref | 158 +++++++- check/internal/internal.exp | 147 ++++++++ check/internal/internal.ref | 151 +++++++- check/threshold-1/threshold-1.exp | 241 ++++++++++++ check/threshold-1/threshold-1.ref | 240 +++++++++++- check/threshold-3-0.5/threshold-3-0.5.exp | 356 ++++++++++++++++++ check/threshold-3-0.5/threshold-3-0.5.ref | 349 ++++++++++++++++- examples/using_dune/bin/dune | 2 +- examples/using_dune/bin/use_wrapped_lib/dune | 4 + .../bin/use_wrapped_lib/use_constructors.ml | 33 ++ .../bin/use_wrapped_lib/use_constructors.mli | 2 + .../bin/use_wrapped_lib/use_mixed_args.ml | 13 + .../bin/use_wrapped_lib/use_mixed_args.mli | 2 + .../bin/use_wrapped_lib/use_opt_args.ml | 44 +++ .../bin/use_wrapped_lib/use_opt_args.mli | 2 + .../use_opt_args_in_higher_order_fun.ml | 21 ++ .../use_opt_args_in_higher_order_fun.mli | 2 + .../bin/use_wrapped_lib/use_records.ml | 36 ++ .../bin/use_wrapped_lib/use_records.mli | 2 + .../bin/use_wrapped_lib/use_style.ml | 5 + .../bin/use_wrapped_lib/use_style.mli | 2 + .../bin/use_wrapped_lib/use_values.ml | 39 ++ .../bin/use_wrapped_lib/use_values.mli | 1 + .../use_values_in_submodules.ml | 9 + .../use_values_in_submodules.mli | 2 + .../use_values_in_submodules_no_intf.ml | 9 + .../use_values_in_submodules_no_intf.mli | 2 + .../bin/use_wrapped_lib/use_values_no_intf.ml | 39 ++ .../use_wrapped_lib/use_values_no_intf.mli | 1 + .../bin/use_wrapped_lib/use_with_class.ml | 45 +++ .../bin/use_wrapped_lib/use_with_class.mli | 2 + .../bin/use_wrapped_lib/use_without_class.ml | 23 ++ .../bin/use_wrapped_lib/use_without_class.mli | 2 + .../bin/use_wrapped_lib/use_wrapped_lib.ml | 25 ++ .../bin/use_wrapped_lib/use_wrapped_lib.mli | 2 + examples/using_dune/bin/using_dune.ml | 3 +- .../wrapped_lib/constructors_and_records | 1 + examples/using_dune/wrapped_lib/dune | 6 + examples/using_dune/wrapped_lib/obj | 1 + examples/using_dune/wrapped_lib/opt_args | 1 + examples/using_dune/wrapped_lib/style | 1 + examples/using_dune/wrapped_lib/values | 1 + 43 files changed, 2163 insertions(+), 18 deletions(-) create mode 100644 examples/using_dune/bin/use_wrapped_lib/dune create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_constructors.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_constructors.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_mixed_args.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_opt_args.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_records.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_records.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_style.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_style.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_values.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_values.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_with_class.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_with_class.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_without_class.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_without_class.mli create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.ml create mode 100644 examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.mli create mode 120000 examples/using_dune/wrapped_lib/constructors_and_records create mode 100644 examples/using_dune/wrapped_lib/dune create mode 120000 examples/using_dune/wrapped_lib/obj create mode 120000 examples/using_dune/wrapped_lib/opt_args create mode 120000 examples/using_dune/wrapped_lib/style create mode 120000 examples/using_dune/wrapped_lib/values diff --git a/check/classic/classic.exp b/check/classic/classic.exp index 60a8a23..b4368c6 100644 --- a/check/classic/classic.exp +++ b/check/classic/classic.exp @@ -20,6 +20,26 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:20: unused_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:25: unused_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:12: internally_used_fun_with_single_sometimes_used_opt_arg + +./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int +./examples/using_dune/wrapped_lib/values/values.mli:3: internally_used_int +./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun +./examples/using_dune/wrapped_lib/values/values.mli:15: internally_used_fun +./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun +./examples/using_dune/wrapped_lib/values/values.mli:25: unused_closure +./examples/using_dune/wrapped_lib/values/values.mli:26: internally_used_closure +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:3: Exported.unused_int +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:4: Exported.internally_used_int +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:3: Exported.unused_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:2: unused_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:13: unused_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:20: unused_alias_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:25: unused_closure + ./examples/using_make/advanced/inc_val.mli:1: x ./examples/using_make/advanced/inc_val.mli:2: y @@ -97,6 +117,22 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:1: unused#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_fun +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:23: unused_fun_class#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#unused +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int + ./examples/using_make/obj/class.mli:1: c#h ./examples/using_make/obj/class_type.mli:9: c#h ./examples/using_make/obj/coerce.mli:6: p#f @@ -151,6 +187,33 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:5: unused_mix.Unused_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:6: unused_mix.Unused_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:7: unused_mix.Unused_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:9: matched_single_no_param.Matched_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:10: matched_single_unit.Matched_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:11: matched_single_param.Matched_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:13: matched_mix.Matched_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:14: matched_mix.Matched_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:15: matched_mix.Matched_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:42: partially_used_mix_1.Partially_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:48: partially_used_mix_2.Partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:54: partially_used_mix_3.Partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:1: unused_single_unit.unused_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:2: unused_single_param.unused_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:4: unused_mix.unused_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:5: unused_mix.unused_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:8: written_single_unit.written_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:9: written_single_param.written_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:11: written_mix.written_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:12: written_mix.written_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:37: partially_used_mix_1.partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit + ./examples/using_make/record.mli:3: t0.unused ./examples/using_make/record.mli:4: t0.f ./examples/using_make/record.mli:10: X.t.unused @@ -204,6 +267,46 @@ 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/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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:10: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:19: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:4: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:12: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:15: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:17: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:30: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: ?always +./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_make/baz.ml:1: ?d ./examples/using_make/baz.ml:5: ?d ./examples/using_make/cond_sel.ml:1: ?a @@ -298,6 +401,46 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/style/style.ml:3: ?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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:16: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:25: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:1: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:10: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: ?never +./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_make/dir/alias_opt.ml:2: ?b ./examples/using_make/dir/alias_opt.ml:11: ?a ./examples/using_make/dir/alias_opt.ml:11: ?b @@ -332,6 +475,17 @@ Nothing else to report in this section ./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/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: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: val f: ... -> (... -> ?_:_ -> ...) -> ... + +./examples/using_dune/wrapped_lib/style/style.ml:2: let () = ... in ... (=> use sequence) +./examples/using_dune/wrapped_lib/style/style.ml:2: unit pattern unit_binding +./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_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:11: val f: ... -> (... -> ?_:_ -> ...) -> ... diff --git a/check/classic/classic.ref b/check/classic/classic.ref index 0d37823..fcf2a07 100644 --- a/check/classic/classic.ref +++ b/check/classic/classic.ref @@ -20,6 +20,24 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:20: unused_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:25: unused_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:12: internally_used_fun_with_single_sometimes_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:3: internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:15: internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:25: unused_closure: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:26: internally_used_closure: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:3: Exported.unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:4: Exported.internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:3: Exported.unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:2: unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:13: unused_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:20: unused_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:25: unused_closure: Not detected ./examples/using_make/advanced/inc_val.mli:1: x ./examples/using_make/advanced/inc_val.mli:2: y @@ -97,6 +115,21 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:1: unused#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:23: unused_fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int: Not detected ./examples/using_make/obj/class.mli:1: c#h ./examples/using_make/obj/class_type.mli:9: c#h ./examples/using_make/obj/coerce.mli:6: p#f @@ -151,6 +184,32 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:5: unused_mix.Unused_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:6: unused_mix.Unused_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:7: unused_mix.Unused_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:9: matched_single_no_param.Matched_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:10: matched_single_unit.Matched_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:11: matched_single_param.Matched_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:13: matched_mix.Matched_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:14: matched_mix.Matched_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:15: matched_mix.Matched_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:42: partially_used_mix_1.Partially_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:48: partially_used_mix_2.Partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:54: partially_used_mix_3.Partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:1: unused_single_unit.unused_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:2: unused_single_param.unused_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:4: unused_mix.unused_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:5: unused_mix.unused_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:8: written_single_unit.written_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:9: written_single_param.written_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:11: written_mix.written_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:12: written_mix.written_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:37: partially_used_mix_1.partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit: Not detected ./examples/using_make/record.mli:3: t0.unused ./examples/using_make/record.mli:4: t0.f ./examples/using_make/record.mli:10: X.t.unused @@ -204,6 +263,46 @@ 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/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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:10: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:19: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:4: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:12: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:15: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:17: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:30: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: ?always +./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_make/baz.ml:1: ?d ./examples/using_make/baz.ml:5: ?d ./examples/using_make/cond_sel.ml:1: ?a @@ -298,6 +397,46 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/style/style.ml:3: ?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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:16: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:25: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:1: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:10: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: ?never +./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_make/dir/alias_opt.ml:2: ?b ./examples/using_make/dir/alias_opt.ml:11: ?a ./examples/using_make/dir/alias_opt.ml:11: ?b @@ -332,6 +471,17 @@ Nothing else to report in this section ./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/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: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: val f: ... -> (... -> ?_:_ -> ...) -> ... + +./examples/using_dune/wrapped_lib/style/style.ml:2: let () = ... in ... (=> use sequence) +./examples/using_dune/wrapped_lib/style/style.ml:2: unit pattern unit_binding +./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_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:11: val f: ... -> (... -> ?_:_ -> ...) -> ... @@ -346,7 +496,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 288 -Success: 288 -Failed: 0 -Ratio: 100.% +Total: 433 +Success: 374 +Failed: 59 +Ratio: 86.3741339492% diff --git a/check/internal/internal.exp b/check/internal/internal.exp index 68cb83b..f0c19fb 100644 --- a/check/internal/internal.exp +++ b/check/internal/internal.exp @@ -13,6 +13,19 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:20: unused_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:25: unused_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg + +./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int +./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun +./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun +./examples/using_dune/wrapped_lib/values/values.mli:25: unused_closure +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:3: Exported.unused_int +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:3: Exported.unused_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:2: unused_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:13: unused_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:20: unused_alias_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:25: unused_closure + ./examples/using_make/advanced/inc_val.mli:1: x ./examples/using_make/advanced/inc_val.mli:2: y @@ -73,6 +86,22 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:1: unused#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_fun +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:23: unused_fun_class#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#unused +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int + ./examples/using_make/obj/class.mli:1: c#h ./examples/using_make/obj/class_type.mli:9: c#h ./examples/using_make/obj/coerce.mli:6: p#f @@ -127,6 +156,33 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:5: unused_mix.Unused_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:6: unused_mix.Unused_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:7: unused_mix.Unused_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:9: matched_single_no_param.Matched_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:10: matched_single_unit.Matched_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:11: matched_single_param.Matched_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:13: matched_mix.Matched_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:14: matched_mix.Matched_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:15: matched_mix.Matched_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:42: partially_used_mix_1.Partially_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:48: partially_used_mix_2.Partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:54: partially_used_mix_3.Partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:1: unused_single_unit.unused_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:2: unused_single_param.unused_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:4: unused_mix.unused_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:5: unused_mix.unused_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:8: written_single_unit.written_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:9: written_single_param.written_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:11: written_mix.written_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:12: written_mix.written_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:37: partially_used_mix_1.partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit + ./examples/using_make/record.mli:3: t0.unused ./examples/using_make/record.mli:4: t0.f ./examples/using_make/record.mli:10: X.t.unused @@ -180,6 +236,46 @@ 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/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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:10: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:19: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:4: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:12: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:15: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:17: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:30: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: ?always +./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_make/baz.ml:1: ?d ./examples/using_make/baz.ml:5: ?d ./examples/using_make/cond_sel.ml:1: ?a @@ -274,6 +370,46 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/style/style.ml:3: ?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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:16: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:25: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:1: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:10: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: ?never +./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_make/dir/alias_opt.ml:2: ?b ./examples/using_make/dir/alias_opt.ml:11: ?a ./examples/using_make/dir/alias_opt.ml:11: ?b @@ -308,6 +444,17 @@ Nothing else to report in this section ./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/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: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: val f: ... -> (... -> ?_:_ -> ...) -> ... + +./examples/using_dune/wrapped_lib/style/style.ml:2: let () = ... in ... (=> use sequence) +./examples/using_dune/wrapped_lib/style/style.ml:2: unit pattern unit_binding +./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_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:11: val f: ... -> (... -> ?_:_ -> ...) -> ... diff --git a/check/internal/internal.ref b/check/internal/internal.ref index 5afa970..d5e609e 100644 --- a/check/internal/internal.ref +++ b/check/internal/internal.ref @@ -13,6 +13,17 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:20: unused_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:25: unused_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:25: unused_closure: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:3: Exported.unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:3: Exported.unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:2: unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:13: unused_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:20: unused_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:25: unused_closure: Not detected ./examples/using_make/advanced/inc_val.mli:1: x ./examples/using_make/advanced/inc_val.mli:2: y @@ -73,6 +84,21 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:1: unused#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:23: unused_fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int: Not detected ./examples/using_make/obj/class.mli:1: c#h ./examples/using_make/obj/class_type.mli:9: c#h ./examples/using_make/obj/coerce.mli:6: p#f @@ -127,6 +153,32 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:5: unused_mix.Unused_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:6: unused_mix.Unused_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:7: unused_mix.Unused_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:9: matched_single_no_param.Matched_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:10: matched_single_unit.Matched_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:11: matched_single_param.Matched_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:13: matched_mix.Matched_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:14: matched_mix.Matched_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:15: matched_mix.Matched_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:42: partially_used_mix_1.Partially_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:48: partially_used_mix_2.Partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:54: partially_used_mix_3.Partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:1: unused_single_unit.unused_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:2: unused_single_param.unused_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:4: unused_mix.unused_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:5: unused_mix.unused_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:8: written_single_unit.written_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:9: written_single_param.written_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:11: written_mix.written_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:12: written_mix.written_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:37: partially_used_mix_1.partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit: Not detected ./examples/using_make/record.mli:3: t0.unused ./examples/using_make/record.mli:4: t0.f ./examples/using_make/record.mli:10: X.t.unused @@ -180,6 +232,46 @@ 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/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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:10: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:19: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:4: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:12: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:15: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:17: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:30: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: ?always +./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_make/baz.ml:1: ?d ./examples/using_make/baz.ml:5: ?d ./examples/using_make/cond_sel.ml:1: ?a @@ -274,6 +366,46 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/style/style.ml:3: ?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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:16: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:25: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:1: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:10: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: ?never +./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_make/dir/alias_opt.ml:2: ?b ./examples/using_make/dir/alias_opt.ml:11: ?a ./examples/using_make/dir/alias_opt.ml:11: ?b @@ -308,6 +440,17 @@ Nothing else to report in this section ./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/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: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: val f: ... -> (... -> ?_:_ -> ...) -> ... + +./examples/using_dune/wrapped_lib/style/style.ml:2: let () = ... in ... (=> use sequence) +./examples/using_dune/wrapped_lib/style/style.ml:2: unit pattern unit_binding +./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_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:11: val f: ... -> (... -> ?_:_ -> ...) -> ... @@ -322,7 +465,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 266 -Success: 266 -Failed: 0 -Ratio: 100.% +Total: 404 +Success: 352 +Failed: 52 +Ratio: 87.1287128713% diff --git a/check/threshold-1/threshold-1.exp b/check/threshold-1/threshold-1.exp index 80dd8c2..591cece 100644 --- a/check/threshold-1/threshold-1.exp +++ b/check/threshold-1/threshold-1.exp @@ -13,6 +13,19 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:20: unused_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:25: unused_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg + +./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int +./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun +./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun +./examples/using_dune/wrapped_lib/values/values.mli:25: unused_closure +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:3: Exported.unused_int +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:3: Exported.unused_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:2: unused_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:13: unused_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:20: unused_alias_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:25: unused_closure + ./examples/using_make/advanced/inc_val.mli:1: x ./examples/using_make/advanced/inc_val.mli:2: y @@ -69,6 +82,20 @@ ./examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli:1: mark_used ./examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_constructors.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_records.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_style.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_with_class.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.mli:1: mark_used + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:14: externally_used_fun_with_single_never_used_opt_arg @@ -107,6 +134,44 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:27: internally_used_closure ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:28: externally_used_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: externally_used_fun_with_single_never_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: externally_used_fun_with_single_always_used_opt_arg + +./examples/using_dune/wrapped_lib/style/style.ml:1: all + +./examples/using_dune/wrapped_lib/values/values.mli:3: internally_used_int +./examples/using_dune/wrapped_lib/values/values.mli:4: externally_used_int +./examples/using_dune/wrapped_lib/values/values.mli:5: externally_used_as_parameter_int +./examples/using_dune/wrapped_lib/values/values.mli:7: externally_written_bool_ref +./examples/using_dune/wrapped_lib/values/values.mli:8: externally_matched_option +./examples/using_dune/wrapped_lib/values/values.mli:10: externally_stored_in_ref_bool +./examples/using_dune/wrapped_lib/values/values.mli:11: externally_stored_in_option_bool +./examples/using_dune/wrapped_lib/values/values.mli:15: internally_used_fun +./examples/using_dune/wrapped_lib/values/values.mli:16: externally_used_fun +./examples/using_dune/wrapped_lib/values/values.mli:17: externally_used_as_parameter_fun +./examples/using_dune/wrapped_lib/values/values.mli:21: externally_used_alias_fun +./examples/using_dune/wrapped_lib/values/values.mli:26: internally_used_closure +./examples/using_dune/wrapped_lib/values/values.mli:27: externally_used_closure +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:4: Exported.internally_used_int +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:5: Exported.externally_used_int +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:4: Exported.internally_used_int +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:5: Exported.externally_used_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:3: internally_used_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:4: externally_used_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:5: externally_used_as_parameter_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:7: externally_written_bool_ref +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:8: externally_matched_option +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:10: externally_stored_in_ref_bool +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:11: externally_stored_in_option_bool +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:15: internally_used_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:16: externally_used_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:17: externally_used_as_parameter_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:22: externally_used_alias_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:27: internally_used_closure +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:28: externally_used_closure + ./examples/using_make/advanced/incl.ml:7: f ./examples/using_make/advanced/mod.mli:1: f ./examples/using_make/advanced/mod.mli:2: x @@ -180,6 +245,22 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:1: unused#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_fun +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:23: unused_fun_class#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#unused +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int + ./examples/using_make/obj/class.mli:1: c#h ./examples/using_make/obj/class_type.mli:9: c#h ./examples/using_make/obj/coerce.mli:6: p#f @@ -220,6 +301,21 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#used_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#used +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#used +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#externally_used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#externally_used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#internally_used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#internally_used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#externally_used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#externally_used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#internally_used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#internally_used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#used_int + ./examples/using_make/advanced/func.mli:3: M.c#f ./examples/using_make/advanced/mod.mli:4: p#f @@ -280,6 +376,33 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:5: unused_mix.Unused_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:6: unused_mix.Unused_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:7: unused_mix.Unused_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:9: matched_single_no_param.Matched_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:10: matched_single_unit.Matched_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:11: matched_single_param.Matched_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:13: matched_mix.Matched_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:14: matched_mix.Matched_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:15: matched_mix.Matched_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:42: partially_used_mix_1.Partially_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:48: partially_used_mix_2.Partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:54: partially_used_mix_3.Partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:1: unused_single_unit.unused_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:2: unused_single_param.unused_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:4: unused_mix.unused_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:5: unused_mix.unused_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:8: written_single_unit.written_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:9: written_single_param.written_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:11: written_mix.written_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:12: written_mix.written_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:37: partially_used_mix_1.partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit + ./examples/using_make/record.mli:3: t0.unused ./examples/using_make/record.mli:4: t0.f ./examples/using_make/record.mli:10: X.t.unused @@ -318,6 +441,33 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:32: externally_used_mix.externally_used_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:33: externally_used_mix.externally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:25: internally_used_single_no_param.Internally_used_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:26: internally_used_single_unit.Internally_used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:27: internally_used_single_param.Internally_used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:29: internally_used_mix.Internally_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:30: internally_used_mix.Internally_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:31: internally_used_mix.Internally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:33: externally_used_single_no_param.Externally_used_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:34: externally_used_single_unit.Externally_used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:35: externally_used_single_param.Externally_used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:37: externally_used_mix.Externally_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:38: externally_used_mix.Externally_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:39: externally_used_mix.Externally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:43: partially_used_mix_1.Partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:44: partially_used_mix_1.Partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:47: partially_used_mix_2.Partially_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:49: partially_used_mix_2.Partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:52: partially_used_mix_3.Partially_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:53: partially_used_mix_3.Partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:22: internally_used_single_unit.internally_used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:23: internally_used_single_param.internally_used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:25: internally_used_mix.internally_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:26: internally_used_mix.internally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:29: externally_used_single_unit.externally_used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:30: externally_used_single_param.externally_used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:32: externally_used_mix.externally_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:33: externally_used_mix.externally_used_param + ./examples/using_make/record.mli:11: X.t.used ./examples/using_make/record.mli:18: t2.r ./examples/using_make/variant.mli:1: v.Used @@ -369,6 +519,46 @@ 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/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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:10: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:19: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:4: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:12: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:15: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:17: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:30: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: ?always +./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_make/baz.ml:1: ?d ./examples/using_make/baz.ml:5: ?d ./examples/using_make/cond_sel.ml:1: ?a @@ -463,6 +653,46 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/style/style.ml:3: ?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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:16: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:25: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:1: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:10: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: ?never +./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_make/dir/alias_opt.ml:2: ?b ./examples/using_make/dir/alias_opt.ml:11: ?a ./examples/using_make/dir/alias_opt.ml:11: ?b @@ -497,6 +727,17 @@ Nothing else to report in this section ./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/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: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: val f: ... -> (... -> ?_:_ -> ...) -> ... + +./examples/using_dune/wrapped_lib/style/style.ml:2: let () = ... in ... (=> use sequence) +./examples/using_dune/wrapped_lib/style/style.ml:2: unit pattern unit_binding +./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_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:11: val f: ... -> (... -> ?_:_ -> ...) -> ... diff --git a/check/threshold-1/threshold-1.ref b/check/threshold-1/threshold-1.ref index a0b5bb7..18850a9 100644 --- a/check/threshold-1/threshold-1.ref +++ b/check/threshold-1/threshold-1.ref @@ -13,6 +13,17 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:20: unused_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:25: unused_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:25: unused_closure: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:3: Exported.unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:3: Exported.unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:2: unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:13: unused_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:20: unused_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:25: unused_closure: Not detected ./examples/using_make/advanced/inc_val.mli:1: x ./examples/using_make/advanced/inc_val.mli:2: y @@ -69,6 +80,20 @@ ./examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli:1: mark_used ./examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_constructors.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_records.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_style.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_values.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_with_class.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_without_class.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.mli:1: mark_used + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:14: externally_used_fun_with_single_never_used_opt_arg @@ -107,6 +132,41 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:27: internally_used_closure ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:28: externally_used_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: externally_used_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: externally_used_fun_with_single_always_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/style/style.ml:1: all: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:3: internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:4: externally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:5: externally_used_as_parameter_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:7: externally_written_bool_ref: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:8: externally_matched_option: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:10: externally_stored_in_ref_bool: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:11: externally_stored_in_option_bool: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:15: internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:16: externally_used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:17: externally_used_as_parameter_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:21: externally_used_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:26: internally_used_closure: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:27: externally_used_closure: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:4: Exported.internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:5: Exported.externally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:4: Exported.internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:5: Exported.externally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:3: internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:4: externally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:5: externally_used_as_parameter_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:7: externally_written_bool_ref: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:8: externally_matched_option: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:10: externally_stored_in_ref_bool: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:11: externally_stored_in_option_bool: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:15: internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:16: externally_used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:17: externally_used_as_parameter_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:22: externally_used_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:27: internally_used_closure: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:28: externally_used_closure: Not detected ./examples/using_make/advanced/incl.ml:7: f ./examples/using_make/advanced/mod.mli:1: f ./examples/using_make/advanced/mod.mli:2: x @@ -180,6 +240,21 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:1: unused#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:23: unused_fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int: Not detected ./examples/using_make/obj/class.mli:1: c#h ./examples/using_make/obj/class_type.mli:9: c#h ./examples/using_make/obj/coerce.mli:6: p#f @@ -220,6 +295,20 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#used_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#used: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#used: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#externally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#externally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#internally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#externally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#externally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#internally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#used_int: Not detected ./examples/using_make/advanced/func.mli:3: M.c#f ./examples/using_make/advanced/mod.mli:4: p#f @@ -280,6 +369,32 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:5: unused_mix.Unused_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:6: unused_mix.Unused_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:7: unused_mix.Unused_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:9: matched_single_no_param.Matched_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:10: matched_single_unit.Matched_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:11: matched_single_param.Matched_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:13: matched_mix.Matched_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:14: matched_mix.Matched_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:15: matched_mix.Matched_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:42: partially_used_mix_1.Partially_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:48: partially_used_mix_2.Partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:54: partially_used_mix_3.Partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:1: unused_single_unit.unused_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:2: unused_single_param.unused_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:4: unused_mix.unused_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:5: unused_mix.unused_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:8: written_single_unit.written_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:9: written_single_param.written_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:11: written_mix.written_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:12: written_mix.written_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:37: partially_used_mix_1.partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit: Not detected ./examples/using_make/record.mli:3: t0.unused ./examples/using_make/record.mli:4: t0.f ./examples/using_make/record.mli:10: X.t.unused @@ -318,6 +433,32 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:32: externally_used_mix.externally_used_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:33: externally_used_mix.externally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:25: internally_used_single_no_param.Internally_used_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:26: internally_used_single_unit.Internally_used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:27: internally_used_single_param.Internally_used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:29: internally_used_mix.Internally_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:30: internally_used_mix.Internally_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:31: internally_used_mix.Internally_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:33: externally_used_single_no_param.Externally_used_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:34: externally_used_single_unit.Externally_used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:35: externally_used_single_param.Externally_used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:37: externally_used_mix.Externally_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:38: externally_used_mix.Externally_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:39: externally_used_mix.Externally_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:43: partially_used_mix_1.Partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:44: partially_used_mix_1.Partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:47: partially_used_mix_2.Partially_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:49: partially_used_mix_2.Partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:52: partially_used_mix_3.Partially_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:53: partially_used_mix_3.Partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:22: internally_used_single_unit.internally_used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:23: internally_used_single_param.internally_used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:25: internally_used_mix.internally_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:26: internally_used_mix.internally_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:29: externally_used_single_unit.externally_used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:30: externally_used_single_param.externally_used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:32: externally_used_mix.externally_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:33: externally_used_mix.externally_used_param: Not detected ./examples/using_make/record.mli:11: X.t.used ./examples/using_make/record.mli:18: t2.r ./examples/using_make/variant.mli:1: v.Used @@ -369,6 +510,46 @@ 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/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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:10: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:19: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:4: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:12: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:15: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:17: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:30: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: ?always +./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_make/baz.ml:1: ?d ./examples/using_make/baz.ml:5: ?d ./examples/using_make/cond_sel.ml:1: ?a @@ -463,6 +644,46 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/style/style.ml:3: ?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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:16: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:25: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:1: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:10: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: ?never +./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_make/dir/alias_opt.ml:2: ?b ./examples/using_make/dir/alias_opt.ml:11: ?a ./examples/using_make/dir/alias_opt.ml:11: ?b @@ -497,6 +718,17 @@ Nothing else to report in this section ./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/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: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: val f: ... -> (... -> ?_:_ -> ...) -> ... + +./examples/using_dune/wrapped_lib/style/style.ml:2: let () = ... in ... (=> use sequence) +./examples/using_dune/wrapped_lib/style/style.ml:2: unit pattern unit_binding +./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_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:11: val f: ... -> (... -> ?_:_ -> ...) -> ... @@ -511,7 +743,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 428 -Success: 428 -Failed: 0 -Ratio: 100.% +Total: 654 +Success: 515 +Failed: 139 +Ratio: 78.74617737% diff --git a/check/threshold-3-0.5/threshold-3-0.5.exp b/check/threshold-3-0.5/threshold-3-0.5.exp index 504d2c6..25f517a 100644 --- a/check/threshold-3-0.5/threshold-3-0.5.exp +++ b/check/threshold-3-0.5/threshold-3-0.5.exp @@ -13,6 +13,19 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:20: unused_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:25: unused_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg + +./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int +./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun +./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun +./examples/using_dune/wrapped_lib/values/values.mli:25: unused_closure +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:3: Exported.unused_int +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:3: Exported.unused_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:2: unused_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:13: unused_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:20: unused_alias_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:25: unused_closure + ./examples/using_make/advanced/inc_val.mli:1: x ./examples/using_make/advanced/inc_val.mli:2: y @@ -69,6 +82,20 @@ ./examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli:1: mark_used ./examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_constructors.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_records.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_style.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_with_class.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.mli:1: mark_used + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:14: externally_used_fun_with_single_never_used_opt_arg @@ -107,6 +134,44 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:27: internally_used_closure ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:28: externally_used_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: externally_used_fun_with_single_never_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: externally_used_fun_with_single_always_used_opt_arg + +./examples/using_dune/wrapped_lib/style/style.ml:1: all + +./examples/using_dune/wrapped_lib/values/values.mli:3: internally_used_int +./examples/using_dune/wrapped_lib/values/values.mli:4: externally_used_int +./examples/using_dune/wrapped_lib/values/values.mli:5: externally_used_as_parameter_int +./examples/using_dune/wrapped_lib/values/values.mli:7: externally_written_bool_ref +./examples/using_dune/wrapped_lib/values/values.mli:8: externally_matched_option +./examples/using_dune/wrapped_lib/values/values.mli:10: externally_stored_in_ref_bool +./examples/using_dune/wrapped_lib/values/values.mli:11: externally_stored_in_option_bool +./examples/using_dune/wrapped_lib/values/values.mli:15: internally_used_fun +./examples/using_dune/wrapped_lib/values/values.mli:16: externally_used_fun +./examples/using_dune/wrapped_lib/values/values.mli:17: externally_used_as_parameter_fun +./examples/using_dune/wrapped_lib/values/values.mli:21: externally_used_alias_fun +./examples/using_dune/wrapped_lib/values/values.mli:26: internally_used_closure +./examples/using_dune/wrapped_lib/values/values.mli:27: externally_used_closure +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:4: Exported.internally_used_int +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:5: Exported.externally_used_int +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:4: Exported.internally_used_int +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:5: Exported.externally_used_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:3: internally_used_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:4: externally_used_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:5: externally_used_as_parameter_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:7: externally_written_bool_ref +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:8: externally_matched_option +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:10: externally_stored_in_ref_bool +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:11: externally_stored_in_option_bool +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:15: internally_used_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:16: externally_used_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:17: externally_used_as_parameter_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:22: externally_used_alias_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:27: internally_used_closure +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:28: externally_used_closure + ./examples/using_make/advanced/incl.ml:7: f ./examples/using_make/advanced/mod.mli:1: f ./examples/using_make/advanced/mod.mli:2: x @@ -191,6 +256,35 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:21: used_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:26: used_closure +./examples/using_dune/wrapped_lib/obj/with_class.mli:33: fun_class_factory + +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: used_fun_with_single_explicitly_discarded_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: used_fun_with_single_never_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: used_fun_with_single_always_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:12: internally_used_fun_with_single_sometimes_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:18: externally_used_fun_with_single_sometimes_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: multiple_never_used_opt_args +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: multiple_always_used_opt_args +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: partially_applied_with_never_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: partially_applied_with_always_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:7: shadowing_never_used_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:8: shadowing_always_used_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:10: expect_fun_with_never_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:11: expect_fun_with_always_used_opt_arg +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:13: expect_fun_with_never_used_opt_arg_with_sig +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:15: expect_fun_with_always_used_opt_arg_with_sig + +./examples/using_dune/wrapped_lib/values/values.mli:1: used_int +./examples/using_dune/wrapped_lib/values/values.mli:13: used_fun +./examples/using_dune/wrapped_lib/values/values.mli:19: used_alias_fun +./examples/using_dune/wrapped_lib/values/values.mli:24: used_closure +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:2: Exported.used_int +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:2: Exported.used_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:1: used_int +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:14: used_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:21: used_alias_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:26: used_closure + ./examples/using_make/dir/anonFn.mli:1: f ./examples/using_make/dir/anonFn.mli:2: g ./examples/using_make/dir/anonFn.mli:3: h @@ -218,6 +312,8 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:19: aliased_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:19: aliased_fun + ./examples/using_make/dir/anonFn2.mli:1: f ./examples/using_make/dir/anonFn2.mli:2: g ./examples/using_make/dir/match_opt.ml:1: f @@ -251,6 +347,22 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:1: unused#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_fun +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:23: unused_fun_class#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#unused +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#unused +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int + ./examples/using_make/obj/class.mli:1: c#h ./examples/using_make/obj/class_type.mli:9: c#h ./examples/using_make/obj/coerce.mli:6: p#f @@ -291,6 +403,21 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#used_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#used +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#used +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#externally_used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#externally_used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#internally_used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#internally_used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#externally_used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#externally_used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#internally_used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#internally_used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#used_int + ./examples/using_make/advanced/func.mli:3: M.c#f ./examples/using_make/advanced/mod.mli:4: p#f @@ -334,6 +461,18 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:11: factory#used_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:11: factory#used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#externally_used_fun +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#externally_used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#internally_used_fun +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#internally_used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#sometimes_used_fun +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#sometimes_used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#used +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#used_int +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#used_fun +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#used_int + ./examples/using_make/obj/class_type.mli:7: p#g ./examples/using_make/obj/coerce.mli:8: c#f ./examples/using_make/obj/named.mli:1: p1#f @@ -375,6 +514,33 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:5: unused_mix.Unused_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:6: unused_mix.Unused_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:7: unused_mix.Unused_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:9: matched_single_no_param.Matched_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:10: matched_single_unit.Matched_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:11: matched_single_param.Matched_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:13: matched_mix.Matched_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:14: matched_mix.Matched_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:15: matched_mix.Matched_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:42: partially_used_mix_1.Partially_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:48: partially_used_mix_2.Partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:54: partially_used_mix_3.Partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:1: unused_single_unit.unused_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:2: unused_single_param.unused_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:4: unused_mix.unused_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:5: unused_mix.unused_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:8: written_single_unit.written_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:9: written_single_param.written_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:11: written_mix.written_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:12: written_mix.written_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:37: partially_used_mix_1.partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit + ./examples/using_make/record.mli:3: t0.unused ./examples/using_make/record.mli:4: t0.f ./examples/using_make/record.mli:10: X.t.unused @@ -413,6 +579,33 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:32: externally_used_mix.externally_used_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:33: externally_used_mix.externally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:25: internally_used_single_no_param.Internally_used_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:26: internally_used_single_unit.Internally_used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:27: internally_used_single_param.Internally_used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:29: internally_used_mix.Internally_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:30: internally_used_mix.Internally_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:31: internally_used_mix.Internally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:33: externally_used_single_no_param.Externally_used_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:34: externally_used_single_unit.Externally_used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:35: externally_used_single_param.Externally_used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:37: externally_used_mix.Externally_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:38: externally_used_mix.Externally_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:39: externally_used_mix.Externally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:43: partially_used_mix_1.Partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:44: partially_used_mix_1.Partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:47: partially_used_mix_2.Partially_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:49: partially_used_mix_2.Partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:52: partially_used_mix_3.Partially_used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:53: partially_used_mix_3.Partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:22: internally_used_single_unit.internally_used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:23: internally_used_single_param.internally_used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:25: internally_used_mix.internally_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:26: internally_used_mix.internally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:29: externally_used_single_unit.externally_used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:30: externally_used_single_param.externally_used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:32: externally_used_mix.externally_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:33: externally_used_mix.externally_used_param + ./examples/using_make/record.mli:11: X.t.used ./examples/using_make/record.mli:18: t2.r ./examples/using_make/variant.mli:1: v.Used @@ -436,6 +629,20 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:42: partially_used_mix_2.partially_used_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:48: partially_used_in_match.partially_used_in_match_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:17: used_single_no_param.Used_single_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:18: used_single_unit.Used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:19: used_single_param.Used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:21: used_mix.Used_no_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:22: used_mix.Used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:23: used_mix.Used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:15: used_single_unit.used_single_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:16: used_single_param.used_single_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:18: used_mix.used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:19: used_mix.used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:38: partially_used_mix_1.partially_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:42: partially_used_mix_2.partially_used_unit +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:48: partially_used_in_match.partially_used_in_match_param + ./examples/using_make/record.mli:12: X.t.f ./examples/using_make/variant.mli:3: v2.Int -------- @@ -488,6 +695,46 @@ 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/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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:10: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:19: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:4: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:12: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:15: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:17: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:30: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: ?always +./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_make/baz.ml:1: ?d ./examples/using_make/baz.ml:5: ?d ./examples/using_make/cond_sel.ml:1: ?a @@ -572,6 +819,38 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:7: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:5: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:13: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:22: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:31: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:53: ?sometimes1 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:53: ?sometimes2 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:53: ?sometimes3 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:6: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:18: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:24: ?sometimes1 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:24: ?sometimes2 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:24: ?sometimes3 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:7: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:5: ?sometimes (1/2 calls) + ./examples/using_make/dir/anonFn.mli:1: ?a (1/2 calls) ./examples/using_make/dir/anonFn.mli:3: ?a (1/2 calls) ./examples/using_make/dir/anonFn.mli:3: ?b (1/2 calls) @@ -637,6 +916,46 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/style/style.ml:3: ?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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:16: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:25: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:1: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:10: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: ?never +./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_make/dir/alias_opt.ml:2: ?b ./examples/using_make/dir/alias_opt.ml:11: ?a ./examples/using_make/dir/alias_opt.ml:11: ?b @@ -684,6 +1003,32 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:7: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:5: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:13: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:22: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:31: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:6: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:18: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:7: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:5: ?sometimes (1/2 calls) + ./examples/using_make/baz.ml:1: ?c (2/3 calls) ./examples/using_make/dir/anonFn.mli:1: ?a (1/2 calls) @@ -716,6 +1061,17 @@ Nothing else to report in this section ./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/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: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: val f: ... -> (... -> ?_:_ -> ...) -> ... + +./examples/using_dune/wrapped_lib/style/style.ml:2: let () = ... in ... (=> use sequence) +./examples/using_dune/wrapped_lib/style/style.ml:2: unit pattern unit_binding +./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_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:11: val f: ... -> (... -> ?_:_ -> ...) -> ... diff --git a/check/threshold-3-0.5/threshold-3-0.5.ref b/check/threshold-3-0.5/threshold-3-0.5.ref index bd8f047..26b021e 100644 --- a/check/threshold-3-0.5/threshold-3-0.5.ref +++ b/check/threshold-3-0.5/threshold-3-0.5.ref @@ -13,6 +13,17 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:20: unused_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:25: unused_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:25: unused_closure: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:3: Exported.unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:3: Exported.unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:2: unused_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:13: unused_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:20: unused_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:25: unused_closure: Not detected ./examples/using_make/advanced/inc_val.mli:1: x ./examples/using_make/advanced/inc_val.mli:2: y @@ -69,6 +80,20 @@ ./examples/using_dune/bin/use_unwrapped_lib/use_with_class.mli:1: mark_used ./examples/using_dune/bin/use_unwrapped_lib/use_without_class.mli:1: mark_used +./examples/using_dune/bin/use_wrapped_lib/use_constructors.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_records.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_style.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_values.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_with_class.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_without_class.mli:1: mark_used: Not detected +./examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.mli:1: mark_used + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:14: externally_used_fun_with_single_never_used_opt_arg @@ -107,6 +132,41 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:27: internally_used_closure ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:28: externally_used_closure +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: externally_used_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: externally_used_fun_with_single_always_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/style/style.ml:1: all: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:3: internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:4: externally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:5: externally_used_as_parameter_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:7: externally_written_bool_ref: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:8: externally_matched_option: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:10: externally_stored_in_ref_bool: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:11: externally_stored_in_option_bool: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:15: internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:16: externally_used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:17: externally_used_as_parameter_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:21: externally_used_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:26: internally_used_closure: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:27: externally_used_closure: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:4: Exported.internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:5: Exported.externally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:4: Exported.internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:5: Exported.externally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:3: internally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:4: externally_used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:5: externally_used_as_parameter_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:7: externally_written_bool_ref: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:8: externally_matched_option: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:10: externally_stored_in_ref_bool: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:11: externally_stored_in_option_bool: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:15: internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:16: externally_used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:17: externally_used_as_parameter_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:22: externally_used_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:27: internally_used_closure: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:28: externally_used_closure: Not detected ./examples/using_make/advanced/incl.ml:7: f ./examples/using_make/advanced/mod.mli:1: f ./examples/using_make/advanced/mod.mli:2: x @@ -191,6 +251,32 @@ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:21: used_alias_fun ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:26: used_closure +./examples/using_dune/wrapped_lib/obj/with_class.mli:33: fun_class_factory: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: used_fun_with_single_explicitly_discarded_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: used_fun_with_single_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: used_fun_with_single_always_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:12: internally_used_fun_with_single_sometimes_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:18: externally_used_fun_with_single_sometimes_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: multiple_never_used_opt_args: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: multiple_always_used_opt_args: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: partially_applied_with_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: partially_applied_with_always_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:7: shadowing_never_used_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:8: shadowing_always_used_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:10: expect_fun_with_never_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:11: expect_fun_with_always_used_opt_arg: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:13: expect_fun_with_never_used_opt_arg_with_sig: Not detected +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:15: expect_fun_with_always_used_opt_arg_with_sig: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:1: used_int: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:13: used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:19: used_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values.mli:24: used_closure: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:2: Exported.used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:2: Exported.used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:1: used_int: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:14: used_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:21: used_alias_fun: Not detected +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:26: used_closure: Not detected ./examples/using_make/dir/anonFn.mli:1: f ./examples/using_make/dir/anonFn.mli:2: g ./examples/using_make/dir/anonFn.mli:3: h @@ -218,6 +304,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:19: aliased_fun +./examples/using_dune/wrapped_lib/values/values_no_intf.ml:19: aliased_fun: Not detected ./examples/using_make/dir/anonFn2.mli:1: f ./examples/using_make/dir/anonFn2.mli:2: g ./examples/using_make/dir/match_opt.ml:1: f @@ -251,6 +338,21 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:1: unused#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:23: unused_fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#unused: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#unused: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int: Not detected ./examples/using_make/obj/class.mli:1: c#h ./examples/using_make/obj/class_type.mli:9: c#h ./examples/using_make/obj/coerce.mli:6: p#f @@ -291,6 +393,20 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#used_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#used: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#used: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#externally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#externally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#internally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#externally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#externally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#internally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#used_int: Not detected ./examples/using_make/advanced/func.mli:3: M.c#f ./examples/using_make/advanced/mod.mli:4: p#f @@ -334,6 +450,17 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/obj/without_class.mli:11: factory#used_fun ./examples/using_dune/unwrapped_lib/obj/without_class.mli:11: factory#used_int +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#externally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#externally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#internally_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#internally_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#sometimes_used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#sometimes_used_int: Not detected +./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#used: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#used_int: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#used_fun: Not detected +./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#used_int: Not detected ./examples/using_make/obj/class_type.mli:7: p#g ./examples/using_make/obj/coerce.mli:8: c#f ./examples/using_make/obj/named.mli:1: p1#f @@ -375,6 +502,32 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:5: unused_mix.Unused_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:6: unused_mix.Unused_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:7: unused_mix.Unused_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:9: matched_single_no_param.Matched_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:10: matched_single_unit.Matched_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:11: matched_single_param.Matched_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:13: matched_mix.Matched_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:14: matched_mix.Matched_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:15: matched_mix.Matched_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:42: partially_used_mix_1.Partially_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:48: partially_used_mix_2.Partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:54: partially_used_mix_3.Partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:1: unused_single_unit.unused_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:2: unused_single_param.unused_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:4: unused_mix.unused_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:5: unused_mix.unused_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:8: written_single_unit.written_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:9: written_single_param.written_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:11: written_mix.written_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:12: written_mix.written_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:37: partially_used_mix_1.partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit: Not detected ./examples/using_make/record.mli:3: t0.unused ./examples/using_make/record.mli:4: t0.f ./examples/using_make/record.mli:10: X.t.unused @@ -413,6 +566,32 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:32: externally_used_mix.externally_used_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:33: externally_used_mix.externally_used_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:25: internally_used_single_no_param.Internally_used_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:26: internally_used_single_unit.Internally_used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:27: internally_used_single_param.Internally_used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:29: internally_used_mix.Internally_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:30: internally_used_mix.Internally_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:31: internally_used_mix.Internally_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:33: externally_used_single_no_param.Externally_used_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:34: externally_used_single_unit.Externally_used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:35: externally_used_single_param.Externally_used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:37: externally_used_mix.Externally_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:38: externally_used_mix.Externally_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:39: externally_used_mix.Externally_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:43: partially_used_mix_1.Partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:44: partially_used_mix_1.Partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:47: partially_used_mix_2.Partially_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:49: partially_used_mix_2.Partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:52: partially_used_mix_3.Partially_used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:53: partially_used_mix_3.Partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:22: internally_used_single_unit.internally_used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:23: internally_used_single_param.internally_used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:25: internally_used_mix.internally_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:26: internally_used_mix.internally_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:29: externally_used_single_unit.externally_used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:30: externally_used_single_param.externally_used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:32: externally_used_mix.externally_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:33: externally_used_mix.externally_used_param: Not detected ./examples/using_make/record.mli:11: X.t.used ./examples/using_make/record.mli:18: t2.r ./examples/using_make/variant.mli:1: v.Used @@ -436,6 +615,19 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:42: partially_used_mix_2.partially_used_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:48: partially_used_in_match.partially_used_in_match_param +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:17: used_single_no_param.Used_single_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:18: used_single_unit.Used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:19: used_single_param.Used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:21: used_mix.Used_no_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:22: used_mix.Used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:23: used_mix.Used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:15: used_single_unit.used_single_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:16: used_single_param.used_single_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:18: used_mix.used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:19: used_mix.used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:38: partially_used_mix_1.partially_used_param: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:42: partially_used_mix_2.partially_used_unit: Not detected +./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:48: partially_used_in_match.partially_used_in_match_param: Not detected ./examples/using_make/record.mli:12: X.t.f ./examples/using_make/variant.mli:3: v2.Int -------- @@ -488,6 +680,46 @@ 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/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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?always +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:10: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:19: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:4: ?always +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:12: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:15: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:17: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:30: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: ?always +./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_make/baz.ml:1: ?d ./examples/using_make/baz.ml:5: ?d ./examples/using_make/cond_sel.ml:1: ?a @@ -572,6 +804,38 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:7: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:5: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:13: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:22: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:31: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:53: ?sometimes1 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:53: ?sometimes2 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:53: ?sometimes3 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:6: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:18: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:24: ?sometimes1 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:24: ?sometimes2 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:24: ?sometimes3 (2/3 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:7: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:5: ?sometimes (1/2 calls) + ./examples/using_make/dir/anonFn.mli:1: ?a (1/2 calls) ./examples/using_make/dir/anonFn.mli:3: ?a (1/2 calls) ./examples/using_make/dir/anonFn.mli:3: ?b (1/2 calls) @@ -637,6 +901,46 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/style/style.ml:3: ?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 +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?never +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:7: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:16: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:25: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never1 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never2 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never3 +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:1: ?never +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:10: ?duplicate +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: ?type_used +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: ?never +./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_make/dir/alias_opt.ml:2: ?b ./examples/using_make/dir/alias_opt.ml:11: ?a ./examples/using_make/dir/alias_opt.ml:11: ?b @@ -684,6 +988,32 @@ Nothing else to report in this section ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:7: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:5: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:13: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:22: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:31: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:6: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:18: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:7: ?sometimes (1/2 calls) +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:5: ?sometimes (1/2 calls) + ./examples/using_make/baz.ml:1: ?c (2/3 calls) ./examples/using_make/dir/anonFn.mli:1: ?a (1/2 calls) @@ -716,6 +1046,17 @@ Nothing else to report in this section ./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/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: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: val f: ... -> (... -> ?_:_ -> ...) -> ... + +./examples/using_dune/wrapped_lib/style/style.ml:2: let () = ... in ... (=> use sequence) +./examples/using_dune/wrapped_lib/style/style.ml:2: unit pattern unit_binding +./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_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_make/dir/fn_arg.ml:11: val f: ... -> (... -> ?_:_ -> ...) -> ... @@ -730,7 +1071,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 587 -Success: 587 -Failed: 0 -Ratio: 100.% +Total: 920 +Success: 730 +Failed: 190 +Ratio: 79.347826087% diff --git a/examples/using_dune/bin/dune b/examples/using_dune/bin/dune index 7ebeb9c..1e54fb0 100644 --- a/examples/using_dune/bin/dune +++ b/examples/using_dune/bin/dune @@ -1,3 +1,3 @@ (executable (name using_dune) - (libraries use_unwrapped_lib)) + (libraries use_unwrapped_lib use_wrapped_lib)) diff --git a/examples/using_dune/bin/use_wrapped_lib/dune b/examples/using_dune/bin/use_wrapped_lib/dune new file mode 100644 index 0000000..398ee24 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/dune @@ -0,0 +1,4 @@ +(library + (name use_wrapped_lib) + (libraries wrapped_lib) + (wrapped true)) diff --git a/examples/using_dune/bin/use_wrapped_lib/use_constructors.ml b/examples/using_dune/bin/use_wrapped_lib/use_constructors.ml new file mode 100644 index 0000000..8337420 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_constructors.ml @@ -0,0 +1,33 @@ +(* extenal uses with explicit module *) +let () = + let _ = Wrapped_lib.Constructors.Used_single_no_param in + let _ = Wrapped_lib.Constructors.Used_single_unit () in + let _ = Wrapped_lib.Constructors.Used_single_param 42 in + let _ = Wrapped_lib.Constructors.Used_no_param in + let _ = Wrapped_lib.Constructors.Used_unit () in + let _ = Wrapped_lib.Constructors.Used_param 42 in + () + +(* external uses using local open *) +let () = + let open Wrapped_lib in + let _ = Constructors.Externally_used_single_no_param in + let _ = Constructors.Externally_used_single_unit () in + let _ = Constructors.Externally_used_single_param 42 in + let open Constructors in + let _ = Externally_used_no_param in + let _ = Externally_used_unit () in + let _ = Externally_used_param 42 in + () + +(* external uses using "global" open *) +open Wrapped_lib.Constructors +let () = + let _ : _ partially_used_mix_1 = Partially_used_param 42 in + let _ : _ partially_used_mix_2 = Partially_used_no_param in + let _ : _ partially_used_mix_3 = Partially_used_unit () in + () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_constructors.mli b/examples/using_dune/bin/use_wrapped_lib/use_constructors.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_constructors.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_mixed_args.ml b/examples/using_dune/bin/use_wrapped_lib/use_mixed_args.ml new file mode 100644 index 0000000..22826db --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_mixed_args.ml @@ -0,0 +1,13 @@ +let () = + let open Wrapped_lib.Mixed_args in + interlaced_mandatory_and_opt () () () ~always:() (); + interlaced_mandatory_and_opt () () () ~always:() ~sometimes:() (); + interlaced_labeled_and_opt ~lab1:() ~always:() ~lab2:() ~lab3:() (); + interlaced_labeled_and_opt ~lab1:() ~always:() ~lab2:() ~lab3:() ~sometimes:() (); + interlaced_mandatory_labeled_and_opt ~lab1:() () ~always:() ~lab2:() (); + interlaced_mandatory_labeled_and_opt ~lab1:() () ~always:() ~lab2:() ~sometimes:() (); + () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli b/examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_opt_args.ml b/examples/using_dune/bin/use_wrapped_lib/use_opt_args.ml new file mode 100644 index 0000000..f192423 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_opt_args.ml @@ -0,0 +1,44 @@ +(* extenal uses with explicit module *) +let () = + Wrapped_lib.Opt_args.used_fun_with_single_never_used_opt_arg (); + Wrapped_lib.Opt_args.used_fun_with_single_explicitly_discarded_opt_arg ?never:None (); + Wrapped_lib.Opt_args.used_fun_with_single_always_used_opt_arg ~always:() (); + Wrapped_lib.Opt_args.used_fun_with_single_sometimes_used_opt_arg (); + Wrapped_lib.Opt_args.used_fun_with_single_sometimes_used_opt_arg ~sometimes:() (); + () + +(* external uses using local open *) +let () = + let open Wrapped_lib in + Opt_args.externally_used_fun_with_single_never_used_opt_arg (); + Opt_args.externally_used_fun_with_single_always_used_opt_arg ~always:() (); + Opt_args.externally_used_fun_with_single_sometimes_used_opt_arg (); + Opt_args.externally_used_fun_with_single_sometimes_used_opt_arg ~sometimes:() (); + let open Opt_args in + multiple_never_used_opt_args (); + multiple_always_used_opt_args ~always1:() ~always2:() ~always3:() (); + multiple_sometimes_used_opt_args ~sometimes1:() ~sometimes2:() (); + multiple_sometimes_used_opt_args ~sometimes1:() ~sometimes3:() (); + multiple_sometimes_used_opt_args ~sometimes2:() ~sometimes3:() (); + () + +(* external uses using "global" open *) +open Wrapped_lib.Opt_args +let () = + multiple_nas_used_opt_args ~always:() ~sometimes:() (); + multiple_nas_used_opt_args ~always:() (); + multiple_ans_used_opt_args ~always:() ~sometimes:() (); + multiple_ans_used_opt_args ~always:() (); + multiple_sna_used_opt_args ~always:() ~sometimes:() (); + multiple_sna_used_opt_args ~always:() (); + multiple_san_used_opt_args ~always:() ~sometimes:() (); + multiple_san_used_opt_args ~always:() (); + multiple_nsa_used_opt_args ~always:() ~sometimes:() (); + multiple_nsa_used_opt_args ~always:() (); + multiple_asn_used_opt_args ~always:() ~sometimes:() (); + multiple_asn_used_opt_args ~always:() (); + () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli b/examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.ml b/examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.ml new file mode 100644 index 0000000..d858549 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.ml @@ -0,0 +1,21 @@ +let () = + let open Wrapped_lib.Opt_args_in_higher_order_fun in + let pa = partially_applied_with_never_used_opt_arg () in + ignore pa; + let pa = partially_applied_with_always_used_opt_arg ~always:() () in + ignore pa; + let pa = partially_applied_with_sometimes_used_opt_arg () in + ignore pa; + let pa = partially_applied_with_sometimes_used_opt_arg ~sometimes:() () in + ignore pa; + shadowing_never_used_arg ~duplicate:() (); + shadowing_always_used_arg ~duplicate:() ~duplicate:() (); + expect_fun_with_never_used_opt_arg fun_with_always_type_used_opt_arg; + expect_fun_with_always_used_opt_arg fun_with_always_type_used_opt_arg; + expect_fun_with_never_used_opt_arg_with_sig fun_with_always_type_used_opt_arg; + expect_fun_with_always_used_opt_arg_with_sig fun_with_always_type_used_opt_arg; + () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli b/examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_records.ml b/examples/using_dune/bin/use_wrapped_lib/use_records.ml new file mode 100644 index 0000000..24f3803 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_records.ml @@ -0,0 +1,36 @@ +(* extenal uses with explicit module *) +let () = + let _ = fun r -> r.Wrapped_lib.Records.used_single_unit in + let _ = fun r -> ignore r.Wrapped_lib.Records.used_single_param in + let _ = fun r -> + ignore r.Wrapped_lib.Records.used_param; + r.Wrapped_lib.Records.used_unit + in + () + +(* external uses using local open *) +let () = + let open Wrapped_lib in + let _ = fun r -> r.Records.externally_used_single_unit in + let _ = fun r -> ignore r.Records.externally_used_single_param in + let open Records in + let _ = fun r -> + ignore r.externally_used_param; + r.externally_used_unit + in + () + +(* external uses using "global" open *) +open Wrapped_lib.Records +let () = + let _ = fun (r : 'a partially_used_mix_1) -> ignore r.partially_used_param in + let _ = fun (r : 'a partially_used_mix_2) -> r.partially_used_unit in + let _ = function + | ({partially_used_in_match_param; _} : 'a partially_used_in_match) -> + ignore partially_used_in_match_param + in + () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_records.mli b/examples/using_dune/bin/use_wrapped_lib/use_records.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_records.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_style.ml b/examples/using_dune/bin/use_wrapped_lib/use_style.ml new file mode 100644 index 0000000..ce20710 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_style.ml @@ -0,0 +1,5 @@ +let () = ignore Wrapped_lib.Style.all + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_style.mli b/examples/using_dune/bin/use_wrapped_lib/use_style.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_style.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_values.ml b/examples/using_dune/bin/use_wrapped_lib/use_values.ml new file mode 100644 index 0000000..4af901f --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_values.ml @@ -0,0 +1,39 @@ +(* extenal uses with explicit module *) +let () = + let _ = Wrapped_lib.Values.used_int in + Wrapped_lib.Values.used_fun (); + Wrapped_lib.Values.used_alias_fun (); + let _closure = Wrapped_lib.Values.partially_used_fun () in + let ((), ()) = Wrapped_lib.Values.used_closure () () in + Wrapped_lib.Values._used_underscore_fun () + +(* external uses using local open *) +let () = + let open Wrapped_lib in + let _ = Values.externally_used_int in + Values.externally_used_fun (); + let open Values in + externally_used_alias_fun (); + let ((), ()) = externally_used_closure () () in + _externally_used_underscore_fun () + +(* external uses using "global" open *) +open Wrapped_lib +let () = + match Values.externally_matched_option with + | None -> () + | Some _ -> () + +let () = + Values.externally_written_bool_ref := Values.externally_stored_in_ref_bool + +open Values +let () = + let bool_opt = Some externally_stored_in_option_bool in + Option.iter externally_used_as_parameter_fun bool_opt + +let () = ignore externally_used_as_parameter_int + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_values.mli b/examples/using_dune/bin/use_wrapped_lib/use_values.mli new file mode 100644 index 0000000..f84c4cb --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_values.mli @@ -0,0 +1 @@ +val mark_used : unit -> unit diff --git a/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.ml b/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.ml new file mode 100644 index 0000000..9262feb --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.ml @@ -0,0 +1,9 @@ +open Wrapped_lib.Values_in_submodules + +let () = + let _ = Exported.used_int in + ignore Exported.externally_used_int + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.mli b/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.ml b/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.ml new file mode 100644 index 0000000..3ad41e0 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.ml @@ -0,0 +1,9 @@ +open Wrapped_lib.Values_in_submodules_no_intf + +let () = + let _ = Exported.used_int in + ignore Exported.externally_used_int + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.mli b/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_values_in_submodules_no_intf.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.ml b/examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.ml new file mode 100644 index 0000000..0a2d91f --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.ml @@ -0,0 +1,39 @@ +(* extenal uses with explicit module *) +let () = + let _ = Wrapped_lib.Values_no_intf.used_int in + Wrapped_lib.Values_no_intf.used_fun (); + Wrapped_lib.Values_no_intf.used_alias_fun (); + let _closure = Wrapped_lib.Values_no_intf.partially_used_fun () in + let ((), ()) = Wrapped_lib.Values_no_intf.used_closure () () in + Wrapped_lib.Values_no_intf._used_underscore_fun () + +(* external uses using local open *) +let () = + let open Wrapped_lib in + let _ = Values_no_intf.externally_used_int in + Values_no_intf.externally_used_fun (); + let open Values_no_intf in + externally_used_alias_fun (); + let ((), ()) = externally_used_closure () () in + _externally_used_underscore_fun () + +(* external uses using "global" open *) +open Wrapped_lib +let () = + match Values_no_intf.externally_matched_option with + | None -> () + | Some _ -> () + +let () = + Values_no_intf.externally_written_bool_ref := Values_no_intf.externally_stored_in_ref_bool + +open Values_no_intf +let () = + let bool_opt = Some externally_stored_in_option_bool in + Option.iter externally_used_as_parameter_fun bool_opt + +let () = ignore externally_used_as_parameter_int + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.mli b/examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.mli new file mode 100644 index 0000000..f84c4cb --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_values_no_intf.mli @@ -0,0 +1 @@ +val mark_used : unit -> unit diff --git a/examples/using_dune/bin/use_wrapped_lib/use_with_class.ml b/examples/using_dune/bin/use_wrapped_lib/use_with_class.ml new file mode 100644 index 0000000..1e87281 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_with_class.ml @@ -0,0 +1,45 @@ +open Wrapped_lib.With_class + +let () = + let b_use_most = new basics in + ignore b_use_most#always_used_int; + ignore b_use_most#sometimes_used_int; + ignore b_use_most#externally_used_int; + b_use_most#always_used_fun (); + b_use_most#sometimes_used_fun (); + b_use_most#externally_used_fun () + +let () = + let b_use_least = new basics in + ignore b_use_least#always_used_int; + ignore b_use_least#externally_used_int; + b_use_least#always_used_fun (); + b_use_least#externally_used_fun () + +let () = + let bf_use_most = basics_factory () in + ignore bf_use_most#always_used_int; + ignore bf_use_most#sometimes_used_int; + ignore bf_use_most#externally_used_int; + bf_use_most#always_used_fun (); + bf_use_most#sometimes_used_fun (); + bf_use_most#externally_used_fun () + +let () = + let bf_use_least = basics_factory () in + ignore bf_use_least#always_used_int; + ignore bf_use_least#externally_used_int; + bf_use_least#always_used_fun (); + bf_use_least#externally_used_fun () + +let () = + let fc = new fun_class () in + fc#used (); + let fcc = new fun_class_constructor () in + fcc#used (); + let fcf = fun_class_factory () in + fcf # used () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_with_class.mli b/examples/using_dune/bin/use_wrapped_lib/use_with_class.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_with_class.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_without_class.ml b/examples/using_dune/bin/use_wrapped_lib/use_without_class.ml new file mode 100644 index 0000000..68a72d6 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_without_class.ml @@ -0,0 +1,23 @@ +(* extenal uses with explicit module *) +let () = + ignore Wrapped_lib.Without_class.immediate#used_int; + ignore Wrapped_lib.Without_class.immediate#externally_used_int; + Wrapped_lib.Without_class.immediate#used_fun (); + Wrapped_lib.Without_class.immediate#externally_used_fun () + +(* external uses using local open *) +let () = + let open Wrapped_lib in + ignore (Without_class.factory ())#used_int; + let open Without_class in + (factory ())#used_fun () + +(* external uses using "global" open *) +open Wrapped_lib.Without_class +let () = + ignore (factory ())#externally_used_int; + (factory ())#externally_used_fun () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_without_class.mli b/examples/using_dune/bin/use_wrapped_lib/use_without_class.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_without_class.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.ml b/examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.ml new file mode 100644 index 0000000..78da673 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.ml @@ -0,0 +1,25 @@ +let () = + Use_values.mark_used (); + Use_values_no_intf.mark_used (); + Use_values_in_submodules.mark_used (); + Use_values_in_submodules_no_intf.mark_used () + +let () = + Use_constructors.mark_used (); + Use_records.mark_used () + +let () = + Use_opt_args.mark_used (); + Use_mixed_args.mark_used (); + Use_opt_args_in_higher_order_fun.mark_used () + +let () = + Use_without_class.mark_used (); + Use_with_class.mark_used () + +let () = + Use_style.mark_used () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.mli b/examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/using_dune.ml b/examples/using_dune/bin/using_dune.ml index 000180a..4a151eb 100644 --- a/examples/using_dune/bin/using_dune.ml +++ b/examples/using_dune/bin/using_dune.ml @@ -1,2 +1,3 @@ let () = - Use_unwrapped_lib.mark_used () + Use_unwrapped_lib.mark_used (); + Use_wrapped_lib.mark_used () diff --git a/examples/using_dune/wrapped_lib/constructors_and_records b/examples/using_dune/wrapped_lib/constructors_and_records new file mode 120000 index 0000000..c0f763f --- /dev/null +++ b/examples/using_dune/wrapped_lib/constructors_and_records @@ -0,0 +1 @@ +../lib/constructors_and_records/ \ No newline at end of file diff --git a/examples/using_dune/wrapped_lib/dune b/examples/using_dune/wrapped_lib/dune new file mode 100644 index 0000000..44f1df0 --- /dev/null +++ b/examples/using_dune/wrapped_lib/dune @@ -0,0 +1,6 @@ +(library + (name wrapped_lib) + (flags (:standard -warn-error -A)) + (wrapped true)) + +(include_subdirs unqualified) diff --git a/examples/using_dune/wrapped_lib/obj b/examples/using_dune/wrapped_lib/obj new file mode 120000 index 0000000..ba3bb73 --- /dev/null +++ b/examples/using_dune/wrapped_lib/obj @@ -0,0 +1 @@ +../lib/obj/ \ No newline at end of file diff --git a/examples/using_dune/wrapped_lib/opt_args b/examples/using_dune/wrapped_lib/opt_args new file mode 120000 index 0000000..2ca34ad --- /dev/null +++ b/examples/using_dune/wrapped_lib/opt_args @@ -0,0 +1 @@ +../lib/opt_args/ \ No newline at end of file diff --git a/examples/using_dune/wrapped_lib/style b/examples/using_dune/wrapped_lib/style new file mode 120000 index 0000000..eb760fa --- /dev/null +++ b/examples/using_dune/wrapped_lib/style @@ -0,0 +1 @@ +../lib/style/ \ No newline at end of file diff --git a/examples/using_dune/wrapped_lib/values b/examples/using_dune/wrapped_lib/values new file mode 120000 index 0000000..2f109b8 --- /dev/null +++ b/examples/using_dune/wrapped_lib/values @@ -0,0 +1 @@ +../lib/values/ \ No newline at end of file