diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index ec8f1ea..ef09077 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -29,6 +29,8 @@ jobs: - run: opam install . --deps-only --with-test + - run: opam install ./examples/using_dune --deps-only --with-test + - run: opam exec -- dune build - run: opam exec -- make examples diff --git a/check/classic/classic.exp b/check/classic/classic.exp index b4368c6..ff70f27 100644 --- a/check/classic/classic.exp +++ b/check/classic/classic.exp @@ -1,5 +1,9 @@ .> UNUSED EXPORTED VALUES: ========================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:3: internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg ./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 @@ -101,6 +105,9 @@ Nothing else to report in this section .> UNUSED METHODS: ================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#unused + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:1: unused#unused ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_int @@ -160,6 +167,13 @@ Nothing else to report in this section .> UNUSED CONSTRUCTORS/RECORD FIELDS: ==================================== +./examples/using_dune/preprocessed_lib/preprocessed.mli:14: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:19: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:23: record.unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:25: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:30: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:39: record.unused + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param @@ -227,6 +241,9 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: ALWAYS: ============================= +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?always +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?always + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?always @@ -361,6 +378,11 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: NEVER: ============================ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: ?opt +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: ?opt + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?never @@ -464,6 +486,17 @@ Nothing else to report in this section .> CODING STYLE: =============== +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:67: let x = ... in x (=> useless binding) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:67: let x = ... in x (=> useless binding) + ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... diff --git a/check/classic/classic.ref b/check/classic/classic.ref index 43722a1..e6452e5 100644 --- a/check/classic/classic.ref +++ b/check/classic/classic.ref @@ -1,5 +1,9 @@ .> UNUSED EXPORTED VALUES: ========================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:3: internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg ./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 @@ -101,6 +105,9 @@ Nothing else to report in this section .> UNUSED METHODS: ================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#unused + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:1: unused#unused ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_int @@ -160,6 +167,13 @@ Nothing else to report in this section .> UNUSED CONSTRUCTORS/RECORD FIELDS: ==================================== +./examples/using_dune/preprocessed_lib/preprocessed.mli:14: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:19: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:23: record.unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:25: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:30: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:39: record.unused + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param @@ -227,6 +241,9 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: ALWAYS: ============================= +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?always +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?always + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?always @@ -361,6 +378,11 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: NEVER: ============================ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: ?opt +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: ?opt + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?never @@ -464,6 +486,17 @@ Nothing else to report in this section .> CODING STYLE: =============== +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:67: let x = ... in x (=> useless binding) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:67: let x = ... in x (=> useless binding) + ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... @@ -500,7 +533,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 433 -Success: 433 +Total: 460 +Success: 460 Failed: 0 Ratio: 100.% diff --git a/check/internal/internal.exp b/check/internal/internal.exp index f0c19fb..d5e7832 100644 --- a/check/internal/internal.exp +++ b/check/internal/internal.exp @@ -1,5 +1,8 @@ .> UNUSED EXPORTED VALUES: ========================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int @@ -70,6 +73,9 @@ Nothing else to report in this section .> UNUSED METHODS: ================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#unused + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:1: unused#unused ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_int @@ -129,6 +135,13 @@ Nothing else to report in this section .> UNUSED CONSTRUCTORS/RECORD FIELDS: ==================================== +./examples/using_dune/preprocessed_lib/preprocessed.mli:14: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:19: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:23: record.unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:25: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:30: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:39: record.unused + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param @@ -196,6 +209,9 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: ALWAYS: ============================= +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?always +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?always + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?always @@ -330,6 +346,11 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: NEVER: ============================ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: ?opt +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: ?opt + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?never @@ -433,6 +454,17 @@ Nothing else to report in this section .> CODING STYLE: =============== +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:67: let x = ... in x (=> useless binding) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:67: let x = ... in x (=> useless binding) + ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... diff --git a/check/internal/internal.ref b/check/internal/internal.ref index 41bf452..ef171b0 100644 --- a/check/internal/internal.ref +++ b/check/internal/internal.ref @@ -1,5 +1,8 @@ .> UNUSED EXPORTED VALUES: ========================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int @@ -70,6 +73,9 @@ Nothing else to report in this section .> UNUSED METHODS: ================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#unused + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:1: unused#unused ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_int @@ -129,6 +135,13 @@ Nothing else to report in this section .> UNUSED CONSTRUCTORS/RECORD FIELDS: ==================================== +./examples/using_dune/preprocessed_lib/preprocessed.mli:14: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:19: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:23: record.unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:25: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:30: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:39: record.unused + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param @@ -196,6 +209,9 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: ALWAYS: ============================= +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?always +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?always + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?always @@ -330,6 +346,11 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: NEVER: ============================ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: ?opt +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: ?opt + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?never @@ -433,6 +454,17 @@ Nothing else to report in this section .> CODING STYLE: =============== +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:67: let x = ... in x (=> useless binding) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:67: let x = ... in x (=> useless binding) + ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... @@ -469,7 +501,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 404 -Success: 404 +Total: 430 +Success: 430 Failed: 0 Ratio: 100.% diff --git a/check/threshold-1/threshold-1.exp b/check/threshold-1/threshold-1.exp index 591cece..41ed3e7 100644 --- a/check/threshold-1/threshold-1.exp +++ b/check/threshold-1/threshold-1.exp @@ -1,5 +1,8 @@ .> UNUSED EXPORTED VALUES: ========================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int @@ -68,6 +71,10 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.mli:1: mark_used +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.mli:1: mark_used +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.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 @@ -96,6 +103,11 @@ ./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/preprocessed_lib/preprocessed.mli:3: internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:4: externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:4: internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:5: externally_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 @@ -229,6 +241,9 @@ Nothing else to report in this section .> UNUSED METHODS: ================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#unused + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:1: unused#unused ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_int @@ -286,6 +301,11 @@ Nothing else to report in this section .>-> ALMOST UNUSED METHODS: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#internally_used + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:35: _self_used#used ./examples/using_dune/unwrapped_lib/obj/with_class.mli:41: _self_used_fun_class#used ./examples/using_dune/unwrapped_lib/obj/without_class.mli:1: immediate#externally_used_fun @@ -349,6 +369,13 @@ Nothing else to report in this section .> UNUSED CONSTRUCTORS/RECORD FIELDS: ==================================== +./examples/using_dune/preprocessed_lib/preprocessed.mli:14: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:19: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:23: record.unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:25: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:30: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:39: record.unused + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param @@ -414,6 +441,17 @@ Nothing else to report in this section .>-> ALMOST UNUSED CONSTRUCTORS/RECORD FIELDS: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:16: constructors.Internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:17: constructors.Externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:25: record.internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:26: record.externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:29: record_with_eq.implicitly_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:27: constructors.Internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:28: constructors.Externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:41: record.internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:42: record.externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:45: record_with_eq.implicitly_used + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:25: internally_used_single_no_param.Internally_used_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:26: internally_used_single_unit.Internally_used_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:27: internally_used_single_param.Internally_used_single_param @@ -479,6 +517,9 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: ALWAYS: ============================= +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?always +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?always + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?always @@ -613,6 +654,11 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: NEVER: ============================ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: ?opt +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: ?opt + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?never @@ -716,6 +762,17 @@ Nothing else to report in this section .> CODING STYLE: =============== +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:67: let x = ... in x (=> useless binding) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:67: let x = ... in x (=> useless binding) + ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... diff --git a/check/threshold-1/threshold-1.ref b/check/threshold-1/threshold-1.ref index 8b9b5f1..1ef3c2f 100644 --- a/check/threshold-1/threshold-1.ref +++ b/check/threshold-1/threshold-1.ref @@ -1,5 +1,8 @@ .> UNUSED EXPORTED VALUES: ========================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int @@ -68,6 +71,10 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.mli:1: mark_used +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.mli:1: mark_used +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.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 @@ -96,6 +103,11 @@ ./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/preprocessed_lib/preprocessed.mli:3: internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:4: externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:4: internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:5: externally_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 @@ -229,6 +241,9 @@ Nothing else to report in this section .> UNUSED METHODS: ================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#unused + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:1: unused#unused ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_int @@ -286,6 +301,11 @@ Nothing else to report in this section .>-> ALMOST UNUSED METHODS: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#internally_used + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:35: _self_used#used ./examples/using_dune/unwrapped_lib/obj/with_class.mli:41: _self_used_fun_class#used ./examples/using_dune/unwrapped_lib/obj/without_class.mli:1: immediate#externally_used_fun @@ -349,6 +369,13 @@ Nothing else to report in this section .> UNUSED CONSTRUCTORS/RECORD FIELDS: ==================================== +./examples/using_dune/preprocessed_lib/preprocessed.mli:14: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:19: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:23: record.unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:25: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:30: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:39: record.unused + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param @@ -414,6 +441,17 @@ Nothing else to report in this section .>-> ALMOST UNUSED CONSTRUCTORS/RECORD FIELDS: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:16: constructors.Internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:17: constructors.Externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:25: record.internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:26: record.externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:29: record_with_eq.implicitly_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:27: constructors.Internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:28: constructors.Externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:41: record.internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:42: record.externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:45: record_with_eq.implicitly_used + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:25: internally_used_single_no_param.Internally_used_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:26: internally_used_single_unit.Internally_used_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:27: internally_used_single_param.Internally_used_single_param @@ -479,6 +517,9 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: ALWAYS: ============================= +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?always +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?always + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?always @@ -613,6 +654,11 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: NEVER: ============================ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: ?opt +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: ?opt + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?never @@ -716,6 +762,17 @@ Nothing else to report in this section .> CODING STYLE: =============== +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:67: let x = ... in x (=> useless binding) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:67: let x = ... in x (=> useless binding) + ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... @@ -752,7 +809,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 654 -Success: 654 +Total: 701 +Success: 701 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 caf0925..49014d8 100644 --- a/check/threshold-3-0.5/threshold-3-0.5.exp +++ b/check/threshold-3-0.5/threshold-3-0.5.exp @@ -1,5 +1,8 @@ .> UNUSED EXPORTED VALUES: ========================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int @@ -68,6 +71,10 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.mli:1: mark_used +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.mli:1: mark_used +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.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 @@ -96,6 +103,11 @@ ./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/preprocessed_lib/preprocessed.mli:3: internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:4: externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:4: internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:5: externally_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 @@ -227,6 +239,11 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 2 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:2: used +./examples/using_dune/preprocessed_lib/preprocessed.mli:31: f +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:3: used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: f + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:33: fun_class_factory ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:2: used_fun_with_single_explicitly_discarded_opt_arg @@ -331,6 +348,9 @@ Nothing else to report in this section .> UNUSED METHODS: ================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#unused + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:1: unused#unused ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_int @@ -388,6 +408,11 @@ Nothing else to report in this section .>-> ALMOST UNUSED METHODS: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#internally_used + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:35: _self_used#used ./examples/using_dune/unwrapped_lib/obj/with_class.mli:41: _self_used_fun_class#used ./examples/using_dune/unwrapped_lib/obj/without_class.mli:1: immediate#externally_used_fun @@ -449,6 +474,9 @@ Nothing else to report in this section .>-> ALMOST UNUSED METHODS: Called 2 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#used + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#externally_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#externally_used_int ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#internally_used_fun @@ -487,6 +515,13 @@ Nothing else to report in this section .> UNUSED CONSTRUCTORS/RECORD FIELDS: ==================================== +./examples/using_dune/preprocessed_lib/preprocessed.mli:14: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:19: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:23: record.unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:25: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:30: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:39: record.unused + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param @@ -552,6 +587,17 @@ Nothing else to report in this section .>-> ALMOST UNUSED CONSTRUCTORS/RECORD FIELDS: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:16: constructors.Internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:17: constructors.Externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:25: record.internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:26: record.externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:29: record_with_eq.implicitly_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:27: constructors.Internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:28: constructors.Externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:41: record.internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:42: record.externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:45: record_with_eq.implicitly_used + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:25: internally_used_single_no_param.Internally_used_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:26: internally_used_single_unit.Internally_used_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:27: internally_used_single_param.Internally_used_single_param @@ -615,6 +661,11 @@ Nothing else to report in this section .>-> ALMOST UNUSED CONSTRUCTORS/RECORD FIELDS: Called 2 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:15: constructors.Used +./examples/using_dune/preprocessed_lib/preprocessed.mli:24: record.used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:26: constructors.Used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:40: record.used + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:17: used_single_no_param.Used_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:18: used_single_unit.Used_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:19: used_single_param.Used_single_param @@ -655,6 +706,9 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: ALWAYS: ============================= +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?always +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?always + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?always @@ -787,6 +841,11 @@ Nothing else to report in this section .>-> OPTIONAL ARGUMENTS: ALMOST ALWAYS: Except 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?externally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?internally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?externally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?internally (1/2 calls) + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?sometimes (1/2 calls) @@ -877,6 +936,11 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: NEVER: ============================ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: ?opt +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: ?opt + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?never @@ -978,6 +1042,11 @@ Nothing else to report in this section .>-> OPTIONAL ARGUMENTS: ALMOST NEVER: Except 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?externally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?internally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?externally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?internally (1/2 calls) + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?sometimes (1/2 calls) @@ -1053,6 +1122,17 @@ Nothing else to report in this section .> CODING STYLE: =============== +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:67: let x = ... in x (=> useless binding) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:67: let x = ... in x (=> useless binding) + ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: 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 68b1204..60e2afc 100644 --- a/check/threshold-3-0.5/threshold-3-0.5.ref +++ b/check/threshold-3-0.5/threshold-3-0.5.ref @@ -1,5 +1,8 @@ .> UNUSED EXPORTED VALUES: ========================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused + ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg ./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int @@ -68,6 +71,10 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.mli:1: mark_used +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.mli:1: mark_used +./examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.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 @@ -96,6 +103,11 @@ ./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/preprocessed_lib/preprocessed.mli:3: internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:4: externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:4: internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:5: externally_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 @@ -227,6 +239,11 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 2 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:2: used +./examples/using_dune/preprocessed_lib/preprocessed.mli:31: f +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:3: used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: f + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:33: fun_class_factory ./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:2: used_fun_with_single_explicitly_discarded_opt_arg @@ -331,6 +348,9 @@ Nothing else to report in this section .> UNUSED METHODS: ================= +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#unused + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:1: unused#unused ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#never_used_int @@ -388,6 +408,11 @@ Nothing else to report in this section .>-> ALMOST UNUSED METHODS: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#internally_used + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:35: _self_used#used ./examples/using_dune/unwrapped_lib/obj/with_class.mli:41: _self_used_fun_class#used ./examples/using_dune/unwrapped_lib/obj/without_class.mli:1: immediate#externally_used_fun @@ -449,6 +474,9 @@ Nothing else to report in this section .>-> ALMOST UNUSED METHODS: Called 2 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:6: immediate#used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:12: immediate#used + ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#externally_used_fun ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#externally_used_int ./examples/using_dune/unwrapped_lib/obj/with_class.mli:5: basics#internally_used_fun @@ -487,6 +515,13 @@ Nothing else to report in this section .> UNUSED CONSTRUCTORS/RECORD FIELDS: ==================================== +./examples/using_dune/preprocessed_lib/preprocessed.mli:14: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:19: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed.mli:23: record.unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:25: constructors.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:30: constr_with_eq.Unused +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:39: record.unused + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param @@ -552,6 +587,17 @@ Nothing else to report in this section .>-> ALMOST UNUSED CONSTRUCTORS/RECORD FIELDS: Called 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:16: constructors.Internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:17: constructors.Externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:25: record.internally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:26: record.externally_used +./examples/using_dune/preprocessed_lib/preprocessed.mli:29: record_with_eq.implicitly_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:27: constructors.Internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:28: constructors.Externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:41: record.internally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:42: record.externally_used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:45: record_with_eq.implicitly_used + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:25: internally_used_single_no_param.Internally_used_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:26: internally_used_single_unit.Internally_used_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:27: internally_used_single_param.Internally_used_single_param @@ -615,6 +661,11 @@ Nothing else to report in this section .>-> ALMOST UNUSED CONSTRUCTORS/RECORD FIELDS: Called 2 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.mli:15: constructors.Used +./examples/using_dune/preprocessed_lib/preprocessed.mli:24: record.used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:26: constructors.Used +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:40: record.used + ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:17: used_single_no_param.Used_single_no_param ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:18: used_single_unit.Used_single_unit ./examples/using_dune/unwrapped_lib/constructors_and_records/constructors.mli:19: used_single_param.Used_single_param @@ -655,6 +706,9 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: ALWAYS: ============================= +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?always +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?always + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?always ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?always @@ -787,6 +841,11 @@ Nothing else to report in this section .>-> OPTIONAL ARGUMENTS: ALMOST ALWAYS: Except 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?externally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?internally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?externally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?internally (1/2 calls) + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?sometimes (1/2 calls) @@ -877,6 +936,11 @@ Nothing else to report in this section .> OPTIONAL ARGUMENTS: NEVER: ============================ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: ?opt +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?never +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: ?opt + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?never ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?never @@ -978,6 +1042,11 @@ Nothing else to report in this section .>-> OPTIONAL ARGUMENTS: ALMOST NEVER: Except 1 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?externally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed.ml:53: ?internally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?externally (1/2 calls) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:53: ?internally (1/2 calls) + ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:1: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:8: ?sometimes (1/2 calls) ./examples/using_dune/unwrapped_lib/opt_args/mixed_args.ml:15: ?sometimes (1/2 calls) @@ -1052,6 +1121,17 @@ Nothing else to report in this section .> CODING STYLE: =============== +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed.ml:67: let x = ... in x (=> useless binding) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: unit pattern unit_binding +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:65: val f: ... -> (... -> ?_:_ -> ...) -> ... +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:66: let () = ... in ... (=> use sequence) +./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:67: let x = ... in x (=> useless binding) + ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ... ./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ... @@ -1088,7 +1168,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 923 -Success: 923 +Total: 988 +Success: 988 Failed: 0 Ratio: 100.% diff --git a/examples/using_dune/bin/dune b/examples/using_dune/bin/dune index 1e54fb0..f017946 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 use_wrapped_lib)) + (libraries use_unwrapped_lib use_wrapped_lib use_preprocessed_lib)) diff --git a/examples/using_dune/bin/use_preprocessed_lib/dune b/examples/using_dune/bin/use_preprocessed_lib/dune new file mode 100644 index 0000000..ae525d4 --- /dev/null +++ b/examples/using_dune/bin/use_preprocessed_lib/dune @@ -0,0 +1,4 @@ +(library + (name use_preprocessed_lib) + (libraries preprocessed_lib) + (wrapped false)) diff --git a/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.ml b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.ml new file mode 100644 index 0000000..d009baf --- /dev/null +++ b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.ml @@ -0,0 +1,25 @@ +open Preprocessed_lib.Preprocessed + +let () = (* use values *) + ignore used; + ignore externally_used + +let () = (* use methods *) + ignore immediate#used; + ignore immediate#externally_used + +let () = (* use constructors *) + ignore Used; + ignore Externally_used + +let () = (* use record fields *) + let r = {unused = 42; used = 42; internally_used = 42; externally_used = 42} in + ignore r.used; + ignore r.externally_used + +let () = (* use optional arguments *) + f ~always:42 ~externally:42 () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.mli b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.mli new file mode 100644 index 0000000..f84c4cb --- /dev/null +++ b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed.mli @@ -0,0 +1 @@ +val mark_used : unit -> unit diff --git a/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.ml b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.ml new file mode 100644 index 0000000..8cb743e --- /dev/null +++ b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.ml @@ -0,0 +1,7 @@ +let () = + Use_preprocessed.mark_used (); + Use_preprocessed_no_intf.mark_used () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.mli b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.mli new file mode 100644 index 0000000..f84c4cb --- /dev/null +++ b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_lib.mli @@ -0,0 +1 @@ +val mark_used : unit -> unit diff --git a/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.ml b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.ml new file mode 100644 index 0000000..3c14daa --- /dev/null +++ b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.ml @@ -0,0 +1,25 @@ +open Preprocessed_lib.Preprocessed_no_intf + +let () = (* use values *) + ignore used; + ignore externally_used + +let () = (* use methods *) + ignore immediate#used; + ignore immediate#externally_used + +let () = (* use constructors *) + ignore Used; + ignore Externally_used + +let () = (* use record fields *) + let r = {unused = 42; used = 42; internally_used = 42; externally_used = 42} in + ignore r.used; + ignore r.externally_used + +let () = (* use optional arguments *) + f ~always:42 ~externally:42 () + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.mli b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.mli new file mode 100644 index 0000000..f84c4cb --- /dev/null +++ b/examples/using_dune/bin/use_preprocessed_lib/use_preprocessed_no_intf.mli @@ -0,0 +1 @@ +val mark_used : unit -> unit diff --git a/examples/using_dune/bin/using_dune.ml b/examples/using_dune/bin/using_dune.ml index 4a151eb..fd6d843 100644 --- a/examples/using_dune/bin/using_dune.ml +++ b/examples/using_dune/bin/using_dune.ml @@ -1,3 +1,4 @@ let () = Use_unwrapped_lib.mark_used (); - Use_wrapped_lib.mark_used () + Use_wrapped_lib.mark_used (); + Use_preprocessed_lib.mark_used () diff --git a/examples/using_dune/dune-project b/examples/using_dune/dune-project index e482863..b2a3d6e 100644 --- a/examples/using_dune/dune-project +++ b/examples/using_dune/dune-project @@ -6,11 +6,12 @@ (map_workspace_root false) -(generate_opam_files false) +(generate_opam_files true) (package (name using_dune) (allow_empty) + (depends ppx_deriving) ) ; See the complete stanza docs at https://dune.readthedocs.io/en/stable/reference/dune-project/index.html diff --git a/examples/using_dune/preprocessed_lib/dune b/examples/using_dune/preprocessed_lib/dune new file mode 100644 index 0000000..7d18d90 --- /dev/null +++ b/examples/using_dune/preprocessed_lib/dune @@ -0,0 +1,4 @@ +(library + (name preprocessed_lib) + (preprocess (pps ppx_deriving.eq)) + (flags (:standard -warn-error -A))) diff --git a/examples/using_dune/preprocessed_lib/preprocessed.ml b/examples/using_dune/preprocessed_lib/preprocessed.ml new file mode 100644 index 0000000..f97a30a --- /dev/null +++ b/examples/using_dune/preprocessed_lib/preprocessed.ml @@ -0,0 +1,68 @@ +(* Values *) +let unused = 42 +let used = 42 +let internally_used = 42 +let externally_used = 42 + +let () = (* use values *) + ignore used; + ignore internally_used + +(* Methods *) +let immediate = object + method unused = 42 + method used = 42 + method internally_used = 42 + method externally_used = 42 +end + +let () = (* use methods *) + ignore immediate#used; + ignore immediate#internally_used + +(* Constructors *) +type constructors = + | Unused + | Used + | Internally_used + | Externally_used + +type constr_with_eq = Unused +[@@deriving eq] + +let () = (* use constructors *) + ignore Used; + ignore Internally_used + +(* Record fields *) +type record = { + unused : int; + used : int; + internally_used : int; + externally_used : int; +} + +type record_with_eq = {implicitly_used : int} [@@deriving eq] + +let () = (* use record fields *) + let r = {unused = 42; used = 42; internally_used = 42; externally_used = 42} in + ignore r.used; + ignore r.internally_used + +(* Optional arguments *) +let f ?never ?always ?internally ?externally () = + ignore never; + ignore always; + ignore internally; + ignore externally + +let () = (* use optional arguments *) + f ~always:42 ~internally:42 () + +(* Stylistic issues *) +let _ = + let unit_binding = () in + let expect_opt_arg_in_arg (f : ?opt:'a -> unit -> unit) = f () in + let () (* sequence *) = ignore expect_opt_arg_in_arg in + let useless_binding = 42 in + useless_binding diff --git a/examples/using_dune/preprocessed_lib/preprocessed.mli b/examples/using_dune/preprocessed_lib/preprocessed.mli new file mode 100644 index 0000000..865b8a5 --- /dev/null +++ b/examples/using_dune/preprocessed_lib/preprocessed.mli @@ -0,0 +1,36 @@ +val unused : int +val used : int +val internally_used : int +val externally_used : int + +val immediate : < + unused : int; + used : int; + internally_used : int; + externally_used : int; +> + +type constructors = + Unused + | Used + | Internally_used + | Externally_used + +type constr_with_eq = Unused +[@@deriving eq] + +type record = { + unused : int; + used : int; + internally_used : int; + externally_used : int; +} + +type record_with_eq = {implicitly_used : int} [@@deriving eq] + +val f : + ?never:'a -> + ?always:'b -> + ?internally:'c -> + ?externally:'d -> + unit -> unit diff --git a/examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml b/examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml new file mode 100644 index 0000000..f97a30a --- /dev/null +++ b/examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml @@ -0,0 +1,68 @@ +(* Values *) +let unused = 42 +let used = 42 +let internally_used = 42 +let externally_used = 42 + +let () = (* use values *) + ignore used; + ignore internally_used + +(* Methods *) +let immediate = object + method unused = 42 + method used = 42 + method internally_used = 42 + method externally_used = 42 +end + +let () = (* use methods *) + ignore immediate#used; + ignore immediate#internally_used + +(* Constructors *) +type constructors = + | Unused + | Used + | Internally_used + | Externally_used + +type constr_with_eq = Unused +[@@deriving eq] + +let () = (* use constructors *) + ignore Used; + ignore Internally_used + +(* Record fields *) +type record = { + unused : int; + used : int; + internally_used : int; + externally_used : int; +} + +type record_with_eq = {implicitly_used : int} [@@deriving eq] + +let () = (* use record fields *) + let r = {unused = 42; used = 42; internally_used = 42; externally_used = 42} in + ignore r.used; + ignore r.internally_used + +(* Optional arguments *) +let f ?never ?always ?internally ?externally () = + ignore never; + ignore always; + ignore internally; + ignore externally + +let () = (* use optional arguments *) + f ~always:42 ~internally:42 () + +(* Stylistic issues *) +let _ = + let unit_binding = () in + let expect_opt_arg_in_arg (f : ?opt:'a -> unit -> unit) = f () in + let () (* sequence *) = ignore expect_opt_arg_in_arg in + let useless_binding = 42 in + useless_binding diff --git a/examples/using_dune/using_dune.opam b/examples/using_dune/using_dune.opam new file mode 100644 index 0000000..58f1e1d --- /dev/null +++ b/examples/using_dune/using_dune.opam @@ -0,0 +1,22 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +depends: [ + "dune" {>= "3.20"} + "ppx_deriving" + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +x-maintenance-intent: ["(latest)"] diff --git a/src/state/file_infos.ml b/src/state/file_infos.ml index 6b741a8..19c4948 100644 --- a/src/state/file_infos.ml +++ b/src/state/file_infos.ml @@ -193,8 +193,7 @@ let get_sourcepath t = let get_sourceunit t = match t.sourcepath with - | Some sourcepath -> - sourcepath |> Filename.basename |> Filename.remove_extension + | Some sourcepath -> Utils.unit sourcepath | None -> "!!UNKNOWN_SOURCEUNIT_FOR<" ^ t.cmti_file ^ ">!!" let get_modname t = t.modname diff --git a/src/utils.ml b/src/utils.ml index fb51875..0de8687 100644 --- a/src/utils.ml +++ b/src/utils.ml @@ -1,2 +1,6 @@ -let unit fn = Filename.remove_extension (Filename.basename fn) +let unit fn = + let u = Filename.remove_extension (Filename.basename fn) in + match Filename.extension u with + | ".pp" -> Filename.remove_extension u + | _ -> u