diff --git a/check/classic/classic.exp b/check/classic/classic.exp index a67970a..7d7dce5 100644 --- a/check/classic/classic.exp +++ b/check/classic/classic.exp @@ -5,6 +5,21 @@ ./examples/using_dune/preprocessed_lib/preprocessed.mli:38: internally_used_f ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused +./examples/using_dune/reduced_lib/reduced_lib.mli:3: Values.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:4: Values.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:10: Values_no_intf.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:11: Values_no_intf.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:18: Values_in_submodules.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:19: Values_in_submodules.Exported.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:27: Values_in_submodules_no_intf.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:28: Values_in_submodules_no_intf.Exported.internally_used +./examples/using_dune/reduced_lib/values.mli:7: lib_internal_unused +./examples/using_dune/reduced_lib/values.mli:8: lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules.mli:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_no_intf.ml:11: lib_internal_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 diff --git a/check/classic/classic.ref b/check/classic/classic.ref index ec63591..1a7e8a0 100644 --- a/check/classic/classic.ref +++ b/check/classic/classic.ref @@ -5,6 +5,21 @@ ./examples/using_dune/preprocessed_lib/preprocessed.mli:38: internally_used_f ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused +./examples/using_dune/reduced_lib/reduced_lib.mli:3: Values.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:4: Values.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:10: Values_no_intf.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:11: Values_no_intf.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:18: Values_in_submodules.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:19: Values_in_submodules.Exported.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:27: Values_in_submodules_no_intf.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:28: Values_in_submodules_no_intf.Exported.internally_used +./examples/using_dune/reduced_lib/values.mli:7: lib_internal_unused +./examples/using_dune/reduced_lib/values.mli:8: lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules.mli:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_no_intf.ml:11: lib_internal_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 @@ -550,7 +565,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 477 -Success: 477 +Total: 491 +Success: 491 Failed: 0 Ratio: 100.% diff --git a/check/internal/internal.exp b/check/internal/internal.exp index a339bcc..266dd6e 100644 --- a/check/internal/internal.exp +++ b/check/internal/internal.exp @@ -3,6 +3,19 @@ ./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused +./examples/using_dune/reduced_lib/reduced_lib.mli:3: Values.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:4: Values.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:10: Values_no_intf.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:11: Values_no_intf.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:18: Values_in_submodules.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:19: Values_in_submodules.Exported.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:27: Values_in_submodules_no_intf.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:28: Values_in_submodules_no_intf.Exported.internally_used +./examples/using_dune/reduced_lib/values.mli:7: lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules.mli:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_no_intf.ml:11: lib_internal_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 diff --git a/check/internal/internal.ref b/check/internal/internal.ref index 7701a71..6116848 100644 --- a/check/internal/internal.ref +++ b/check/internal/internal.ref @@ -3,6 +3,19 @@ ./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused +./examples/using_dune/reduced_lib/reduced_lib.mli:3: Values.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:4: Values.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:10: Values_no_intf.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:11: Values_no_intf.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:18: Values_in_submodules.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:19: Values_in_submodules.Exported.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:27: Values_in_submodules_no_intf.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:28: Values_in_submodules_no_intf.Exported.internally_used +./examples/using_dune/reduced_lib/values.mli:7: lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules.mli:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_no_intf.ml:11: lib_internal_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 @@ -517,7 +530,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 446 -Success: 446 +Total: 458 +Success: 458 Failed: 0 Ratio: 100.% diff --git a/check/threshold-1/threshold-1.exp b/check/threshold-1/threshold-1.exp index 2745c37..8211de3 100644 --- a/check/threshold-1/threshold-1.exp +++ b/check/threshold-1/threshold-1.exp @@ -3,6 +3,19 @@ ./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused +./examples/using_dune/reduced_lib/reduced_lib.mli:3: Values.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:4: Values.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:10: Values_no_intf.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:11: Values_no_intf.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:18: Values_in_submodules.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:19: Values_in_submodules.Exported.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:27: Values_in_submodules_no_intf.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:28: Values_in_submodules_no_intf.Exported.internally_used +./examples/using_dune/reduced_lib/values.mli:7: lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules.mli:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_no_intf.ml:11: lib_internal_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 @@ -75,6 +88,12 @@ ./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_reduced_lib/use_reduced_lib.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_no_intf.mli:1: mark_used + ./examples/using_dune/bin/use_unwrapped_lib/use_builder_sig_api.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_include_modtype.mli:1: mark_used @@ -112,6 +131,27 @@ ./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/reduced_lib/reduced_lib.mli:2: Values.used +./examples/using_dune/reduced_lib/reduced_lib.mli:5: Values.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:9: Values_no_intf.used +./examples/using_dune/reduced_lib/reduced_lib.mli:12: Values_no_intf.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:17: Values_in_submodules.Exported.used +./examples/using_dune/reduced_lib/reduced_lib.mli:20: Values_in_submodules.Exported.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:26: Values_in_submodules_no_intf.Exported.used +./examples/using_dune/reduced_lib/reduced_lib.mli:29: Values_in_submodules_no_intf.Exported.externally_used +./examples/using_dune/reduced_lib/values.mli:2: used_by_API +./examples/using_dune/reduced_lib/values.mli:8: lib_internal_internally_used +./examples/using_dune/reduced_lib/values.mli:9: lib_internal_externally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:3: Exported.used_by_API +./examples/using_dune/reduced_lib/values_in_submodules.mli:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:10: Exported.lib_internal_externally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:3: Exported.used_by_API +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:10: Exported.lib_internal_externally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:2: used_by_API +./examples/using_dune/reduced_lib/values_no_intf.ml:12: lib_internal_internally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:13: lib_internal_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 diff --git a/check/threshold-1/threshold-1.ref b/check/threshold-1/threshold-1.ref index 917c646..19cb19e 100644 --- a/check/threshold-1/threshold-1.ref +++ b/check/threshold-1/threshold-1.ref @@ -3,6 +3,19 @@ ./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused +./examples/using_dune/reduced_lib/reduced_lib.mli:3: Values.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:4: Values.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:10: Values_no_intf.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:11: Values_no_intf.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:18: Values_in_submodules.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:19: Values_in_submodules.Exported.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:27: Values_in_submodules_no_intf.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:28: Values_in_submodules_no_intf.Exported.internally_used +./examples/using_dune/reduced_lib/values.mli:7: lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules.mli:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_no_intf.ml:11: lib_internal_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 @@ -75,6 +88,12 @@ ./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_reduced_lib/use_reduced_lib.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_no_intf.mli:1: mark_used + ./examples/using_dune/bin/use_unwrapped_lib/use_builder_sig_api.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_include_modtype.mli:1: mark_used @@ -112,6 +131,27 @@ ./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/reduced_lib/reduced_lib.mli:2: Values.used +./examples/using_dune/reduced_lib/reduced_lib.mli:5: Values.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:9: Values_no_intf.used +./examples/using_dune/reduced_lib/reduced_lib.mli:12: Values_no_intf.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:17: Values_in_submodules.Exported.used +./examples/using_dune/reduced_lib/reduced_lib.mli:20: Values_in_submodules.Exported.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:26: Values_in_submodules_no_intf.Exported.used +./examples/using_dune/reduced_lib/reduced_lib.mli:29: Values_in_submodules_no_intf.Exported.externally_used +./examples/using_dune/reduced_lib/values.mli:2: used_by_API +./examples/using_dune/reduced_lib/values.mli:8: lib_internal_internally_used +./examples/using_dune/reduced_lib/values.mli:9: lib_internal_externally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:3: Exported.used_by_API +./examples/using_dune/reduced_lib/values_in_submodules.mli:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:10: Exported.lib_internal_externally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:3: Exported.used_by_API +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:10: Exported.lib_internal_externally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:2: used_by_API +./examples/using_dune/reduced_lib/values_no_intf.ml:12: lib_internal_internally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:13: lib_internal_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 @@ -829,7 +869,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 721 -Success: 721 +Total: 758 +Success: 758 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 9e56bc1..89621d2 100644 --- a/check/threshold-3-0.5/threshold-3-0.5.exp +++ b/check/threshold-3-0.5/threshold-3-0.5.exp @@ -3,6 +3,19 @@ ./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused +./examples/using_dune/reduced_lib/reduced_lib.mli:3: Values.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:4: Values.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:10: Values_no_intf.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:11: Values_no_intf.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:18: Values_in_submodules.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:19: Values_in_submodules.Exported.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:27: Values_in_submodules_no_intf.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:28: Values_in_submodules_no_intf.Exported.internally_used +./examples/using_dune/reduced_lib/values.mli:7: lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules.mli:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_no_intf.ml:11: lib_internal_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 @@ -75,6 +88,12 @@ ./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_reduced_lib/use_reduced_lib.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_no_intf.mli:1: mark_used + ./examples/using_dune/bin/use_unwrapped_lib/use_builder_sig_api.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_include_modtype.mli:1: mark_used @@ -112,6 +131,27 @@ ./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/reduced_lib/reduced_lib.mli:2: Values.used +./examples/using_dune/reduced_lib/reduced_lib.mli:5: Values.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:9: Values_no_intf.used +./examples/using_dune/reduced_lib/reduced_lib.mli:12: Values_no_intf.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:17: Values_in_submodules.Exported.used +./examples/using_dune/reduced_lib/reduced_lib.mli:20: Values_in_submodules.Exported.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:26: Values_in_submodules_no_intf.Exported.used +./examples/using_dune/reduced_lib/reduced_lib.mli:29: Values_in_submodules_no_intf.Exported.externally_used +./examples/using_dune/reduced_lib/values.mli:2: used_by_API +./examples/using_dune/reduced_lib/values.mli:8: lib_internal_internally_used +./examples/using_dune/reduced_lib/values.mli:9: lib_internal_externally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:3: Exported.used_by_API +./examples/using_dune/reduced_lib/values_in_submodules.mli:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:10: Exported.lib_internal_externally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:3: Exported.used_by_API +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:10: Exported.lib_internal_externally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:2: used_by_API +./examples/using_dune/reduced_lib/values_no_intf.ml:12: lib_internal_internally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:13: lib_internal_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 @@ -252,6 +292,19 @@ ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:59: internally_used_f ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: externally_used_f +./examples/using_dune/reduced_lib/values.mli:3: internally_used +./examples/using_dune/reduced_lib/values.mli:4: externally_used +./examples/using_dune/reduced_lib/values.mli:6: lib_internal_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:4: Exported.internally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:5: Exported.externally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:7: Exported.lib_internal_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:4: Exported.internally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:5: Exported.externally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:7: Exported.lib_internal_used +./examples/using_dune/reduced_lib/values_no_intf.ml:3: internally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:4: externally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:10: lib_internal_used + ./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 @@ -335,6 +388,11 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 3 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/reduced_lib/values.mli:1: used +./examples/using_dune/reduced_lib/values_in_submodules.mli:2: Exported.used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:2: Exported.used +./examples/using_dune/reduced_lib/values_no_intf.ml:1: used + ./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 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 92f148e..2b39f5c 100644 --- a/check/threshold-3-0.5/threshold-3-0.5.ref +++ b/check/threshold-3-0.5/threshold-3-0.5.ref @@ -3,6 +3,19 @@ ./examples/using_dune/preprocessed_lib/preprocessed.mli:1: unused ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:2: unused +./examples/using_dune/reduced_lib/reduced_lib.mli:3: Values.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:4: Values.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:10: Values_no_intf.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:11: Values_no_intf.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:18: Values_in_submodules.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:19: Values_in_submodules.Exported.internally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:27: Values_in_submodules_no_intf.Exported.used_by_API +./examples/using_dune/reduced_lib/reduced_lib.mli:28: Values_in_submodules_no_intf.Exported.internally_used +./examples/using_dune/reduced_lib/values.mli:7: lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules.mli:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:8: Exported.lib_internal_unused +./examples/using_dune/reduced_lib/values_no_intf.ml:11: lib_internal_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 @@ -75,6 +88,12 @@ ./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_reduced_lib/use_reduced_lib.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.mli:1: mark_used +./examples/using_dune/bin/use_reduced_lib/use_values_no_intf.mli:1: mark_used + ./examples/using_dune/bin/use_unwrapped_lib/use_builder_sig_api.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_include_modtype.mli:1: mark_used @@ -112,6 +131,27 @@ ./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/reduced_lib/reduced_lib.mli:2: Values.used +./examples/using_dune/reduced_lib/reduced_lib.mli:5: Values.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:9: Values_no_intf.used +./examples/using_dune/reduced_lib/reduced_lib.mli:12: Values_no_intf.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:17: Values_in_submodules.Exported.used +./examples/using_dune/reduced_lib/reduced_lib.mli:20: Values_in_submodules.Exported.externally_used +./examples/using_dune/reduced_lib/reduced_lib.mli:26: Values_in_submodules_no_intf.Exported.used +./examples/using_dune/reduced_lib/reduced_lib.mli:29: Values_in_submodules_no_intf.Exported.externally_used +./examples/using_dune/reduced_lib/values.mli:2: used_by_API +./examples/using_dune/reduced_lib/values.mli:8: lib_internal_internally_used +./examples/using_dune/reduced_lib/values.mli:9: lib_internal_externally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:3: Exported.used_by_API +./examples/using_dune/reduced_lib/values_in_submodules.mli:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:10: Exported.lib_internal_externally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:3: Exported.used_by_API +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:9: Exported.lib_internal_internally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:10: Exported.lib_internal_externally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:2: used_by_API +./examples/using_dune/reduced_lib/values_no_intf.ml:12: lib_internal_internally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:13: lib_internal_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 @@ -252,6 +292,19 @@ ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:59: internally_used_f ./examples/using_dune/preprocessed_lib/preprocessed_no_intf.ml:64: externally_used_f +./examples/using_dune/reduced_lib/values.mli:3: internally_used +./examples/using_dune/reduced_lib/values.mli:4: externally_used +./examples/using_dune/reduced_lib/values.mli:6: lib_internal_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:4: Exported.internally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:5: Exported.externally_used +./examples/using_dune/reduced_lib/values_in_submodules.mli:7: Exported.lib_internal_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:4: Exported.internally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:5: Exported.externally_used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:7: Exported.lib_internal_used +./examples/using_dune/reduced_lib/values_no_intf.ml:3: internally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:4: externally_used +./examples/using_dune/reduced_lib/values_no_intf.ml:10: lib_internal_used + ./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 @@ -335,6 +388,11 @@ .>-> ALMOST UNUSED EXPORTED VALUES: Called 3 time(s): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +./examples/using_dune/reduced_lib/values.mli:1: used +./examples/using_dune/reduced_lib/values_in_submodules.mli:2: Exported.used +./examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml:2: Exported.used +./examples/using_dune/reduced_lib/values_no_intf.ml:1: used + ./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 @@ -1198,7 +1256,7 @@ Nothing else to report in this section -------------------------------------------------------------------------------- -Total: 1018 -Success: 1018 +Total: 1071 +Success: 1071 Failed: 0 Ratio: 100.% diff --git a/examples/using_dune/bin/dune b/examples/using_dune/bin/dune index f017946..3dfbbf7 100644 --- a/examples/using_dune/bin/dune +++ b/examples/using_dune/bin/dune @@ -1,3 +1,6 @@ (executable (name using_dune) - (libraries use_unwrapped_lib use_wrapped_lib use_preprocessed_lib)) + (libraries use_unwrapped_lib + use_wrapped_lib + use_preprocessed_lib + use_reduced_lib)) diff --git a/examples/using_dune/bin/use_preprocessed_lib/dune b/examples/using_dune/bin/use_preprocessed_lib/dune index ae525d4..8f4d02f 100644 --- a/examples/using_dune/bin/use_preprocessed_lib/dune +++ b/examples/using_dune/bin/use_preprocessed_lib/dune @@ -1,4 +1,3 @@ (library (name use_preprocessed_lib) - (libraries preprocessed_lib) - (wrapped false)) + (libraries preprocessed_lib)) diff --git a/examples/using_dune/bin/use_reduced_lib/dune b/examples/using_dune/bin/use_reduced_lib/dune new file mode 100644 index 0000000..36c7459 --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/dune @@ -0,0 +1,3 @@ +(library + (name use_reduced_lib) + (libraries reduced_lib)) diff --git a/examples/using_dune/bin/use_reduced_lib/use_reduced_lib.ml b/examples/using_dune/bin/use_reduced_lib/use_reduced_lib.ml new file mode 100644 index 0000000..4d28532 --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_reduced_lib.ml @@ -0,0 +1,9 @@ +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 is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_reduced_lib/use_reduced_lib.mli b/examples/using_dune/bin/use_reduced_lib/use_reduced_lib.mli new file mode 100644 index 0000000..b63a111 --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_reduced_lib.mli @@ -0,0 +1,2 @@ +val mark_used : unit -> unit + diff --git a/examples/using_dune/bin/use_reduced_lib/use_values.ml b/examples/using_dune/bin/use_reduced_lib/use_values.ml new file mode 100644 index 0000000..e3dae9f --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_values.ml @@ -0,0 +1,8 @@ +(* extenal uses with explicit module *) +let () = + ignore Reduced_lib.Values.used; + ignore Reduced_lib.Values.externally_used + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_reduced_lib/use_values.mli b/examples/using_dune/bin/use_reduced_lib/use_values.mli new file mode 100644 index 0000000..f84c4cb --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_values.mli @@ -0,0 +1 @@ +val mark_used : unit -> unit diff --git a/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.ml b/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.ml new file mode 100644 index 0000000..457d051 --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.ml @@ -0,0 +1,8 @@ +(* extenal uses with explicit module *) +let () = + ignore Reduced_lib.Values_in_submodules.Exported.used; + ignore Reduced_lib.Values_in_submodules.Exported.externally_used + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.mli b/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.mli new file mode 100644 index 0000000..f84c4cb --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules.mli @@ -0,0 +1 @@ +val mark_used : unit -> unit diff --git a/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.ml b/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.ml new file mode 100644 index 0000000..964591c --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.ml @@ -0,0 +1,8 @@ +(* extenal uses with explicit module *) +let () = + ignore Reduced_lib.Values_in_submodules_no_intf.Exported.used; + ignore Reduced_lib.Values_in_submodules_no_intf.Exported.externally_used + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.mli b/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.mli new file mode 100644 index 0000000..f84c4cb --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_values_in_submodules_no_intf.mli @@ -0,0 +1 @@ +val mark_used : unit -> unit diff --git a/examples/using_dune/bin/use_reduced_lib/use_values_no_intf.ml b/examples/using_dune/bin/use_reduced_lib/use_values_no_intf.ml new file mode 100644 index 0000000..b029ba6 --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_values_no_intf.ml @@ -0,0 +1,8 @@ +(* extenal uses with explicit module *) +let () = + ignore Reduced_lib.Values_no_intf.used; + ignore Reduced_lib.Values_no_intf.externally_used + +let is_used = ref false +let mark_used () = + is_used := true diff --git a/examples/using_dune/bin/use_reduced_lib/use_values_no_intf.mli b/examples/using_dune/bin/use_reduced_lib/use_values_no_intf.mli new file mode 100644 index 0000000..f84c4cb --- /dev/null +++ b/examples/using_dune/bin/use_reduced_lib/use_values_no_intf.mli @@ -0,0 +1 @@ +val mark_used : unit -> unit diff --git a/examples/using_dune/bin/use_unwrapped_lib/dune b/examples/using_dune/bin/use_unwrapped_lib/dune index 3f9c000..8543b15 100644 --- a/examples/using_dune/bin/use_unwrapped_lib/dune +++ b/examples/using_dune/bin/use_unwrapped_lib/dune @@ -1,4 +1,3 @@ (library (name use_unwrapped_lib) - (libraries unwrapped_lib) - (wrapped false)) + (libraries unwrapped_lib)) diff --git a/examples/using_dune/bin/use_wrapped_lib/dune b/examples/using_dune/bin/use_wrapped_lib/dune index 398ee24..0f777f5 100644 --- a/examples/using_dune/bin/use_wrapped_lib/dune +++ b/examples/using_dune/bin/use_wrapped_lib/dune @@ -1,4 +1,3 @@ (library (name use_wrapped_lib) - (libraries wrapped_lib) - (wrapped true)) + (libraries wrapped_lib)) diff --git a/examples/using_dune/bin/using_dune.ml b/examples/using_dune/bin/using_dune.ml index fd6d843..4343598 100644 --- a/examples/using_dune/bin/using_dune.ml +++ b/examples/using_dune/bin/using_dune.ml @@ -1,4 +1,5 @@ let () = Use_unwrapped_lib.mark_used (); Use_wrapped_lib.mark_used (); - Use_preprocessed_lib.mark_used () + Use_preprocessed_lib.mark_used (); + Use_reduced_lib.mark_used () diff --git a/examples/using_dune/reduced_lib/README.md b/examples/using_dune/reduced_lib/README.md new file mode 100644 index 0000000..e64438e --- /dev/null +++ b/examples/using_dune/reduced_lib/README.md @@ -0,0 +1,33 @@ +This library is used to test 2 things : +1. That values defined in the library's submodules and not exposed in the + library's API are tracked correctly and reported at locations in + the submodules +2. That values defined in the library's submodules and those exposed in the + library's API are "decoupled" : + - If a value is unused outside the library, then it is reported at a + location in the library's interface (and not the submodule's). + - The submodules' values are "used by the type" of the library. I.e. because + the library expose them in its API, then they must exist in the + submodules. Thus, they are used by the API's requirements and must not be + reported as unused. + +The intent is to avoid duplicated reports and provide actually actionable +results. +E.g. Instead of +``` +some_lib.mli:12: Foo.x +foo.mli:3: x +``` +only report +``` +some_lib.mli:12: Foo.x +``` +Once `Some_lib.Foo.x` is removed from `Some_lib`'s API, a new run of the +`dead_code_analyzer` would be able to report +``` +foo.mli:3: x +``` + +In this library's submodules, the values prefixed by `lib_internal` are not +exposed by the API but still exported by the submodules. All the other exported +values are re-exposed in `Reduced_lib`'s API. diff --git a/examples/using_dune/reduced_lib/dune b/examples/using_dune/reduced_lib/dune new file mode 100644 index 0000000..0b6e98e --- /dev/null +++ b/examples/using_dune/reduced_lib/dune @@ -0,0 +1,4 @@ +(library + (name reduced_lib) + (flags (:standard -warn-error -A)) + (wrapped true)) diff --git a/examples/using_dune/reduced_lib/reduced_lib.ml b/examples/using_dune/reduced_lib/reduced_lib.ml new file mode 100644 index 0000000..9b3182c --- /dev/null +++ b/examples/using_dune/reduced_lib/reduced_lib.ml @@ -0,0 +1,14 @@ +module Values = Values +module Values_no_intf = Values_no_intf +module Values_in_submodules = Values_in_submodules +module Values_in_submodules_no_intf = Values_in_submodules_no_intf + +let () = + ignore Values.lib_internal_used; + ignore Values.lib_internal_externally_used; + ignore Values_no_intf.lib_internal_used; + ignore Values_no_intf.lib_internal_externally_used; + ignore Values_in_submodules.Exported.lib_internal_used; + ignore Values_in_submodules.Exported.lib_internal_externally_used; + ignore Values_in_submodules_no_intf.Exported.lib_internal_used; + ignore Values_in_submodules_no_intf.Exported.lib_internal_externally_used diff --git a/examples/using_dune/reduced_lib/reduced_lib.mli b/examples/using_dune/reduced_lib/reduced_lib.mli new file mode 100644 index 0000000..f9da083 --- /dev/null +++ b/examples/using_dune/reduced_lib/reduced_lib.mli @@ -0,0 +1,31 @@ +module Values : sig + val used : int + val used_by_API : int + val internally_used : int + val externally_used : int +end + +module Values_no_intf : sig + val used : int + val used_by_API : int + val internally_used : int + val externally_used : int +end + +module Values_in_submodules : sig + module Exported : sig + val used : int + val used_by_API : int + val internally_used : int + val externally_used : int + end +end + +module Values_in_submodules_no_intf : sig + module Exported : sig + val used : int + val used_by_API : int + val internally_used : int + val externally_used : int + end +end diff --git a/examples/using_dune/reduced_lib/values.ml b/examples/using_dune/reduced_lib/values.ml new file mode 100644 index 0000000..31621a8 --- /dev/null +++ b/examples/using_dune/reduced_lib/values.ml @@ -0,0 +1,17 @@ +let used = 42 +let used_by_API = 42 +let internally_used = 42 +let externally_used = 42 + +let () = + ignore used; + ignore internally_used + +let lib_internal_used = 42 +let lib_internal_unused = 42 +let lib_internal_internally_used = 42 +let lib_internal_externally_used = 42 + +let () = + ignore lib_internal_used; + ignore lib_internal_internally_used diff --git a/examples/using_dune/reduced_lib/values.mli b/examples/using_dune/reduced_lib/values.mli new file mode 100644 index 0000000..2d58d6e --- /dev/null +++ b/examples/using_dune/reduced_lib/values.mli @@ -0,0 +1,9 @@ +val used : int +val used_by_API : int +val internally_used : int +val externally_used : int + +val lib_internal_used : int +val lib_internal_unused : int +val lib_internal_internally_used : int +val lib_internal_externally_used : int diff --git a/examples/using_dune/reduced_lib/values_in_submodules.ml b/examples/using_dune/reduced_lib/values_in_submodules.ml new file mode 100644 index 0000000..8b51ea0 --- /dev/null +++ b/examples/using_dune/reduced_lib/values_in_submodules.ml @@ -0,0 +1,34 @@ +module Unexported = struct + let used = 42 + let unused = 42 +end + +module Exported = struct + module Private = struct + let used = 42 + let unused = 42 + end + + let used = 42 + let used_by_API = 42 + let internally_used = 42 + let externally_used = 42 + + let lib_internal_used = 42 + let lib_internal_unused = 42 + let lib_internal_internally_used = 42 + let lib_internal_externally_used = 42 + +end + +let () = ignore Unexported.used + +let () = ignore Exported.Private.used + +let () = + ignore Exported.used; + ignore Exported.internally_used + +let () = + ignore Exported.lib_internal_used; + ignore Exported.lib_internal_internally_used diff --git a/examples/using_dune/reduced_lib/values_in_submodules.mli b/examples/using_dune/reduced_lib/values_in_submodules.mli new file mode 100644 index 0000000..7d9498d --- /dev/null +++ b/examples/using_dune/reduced_lib/values_in_submodules.mli @@ -0,0 +1,11 @@ +module Exported : sig + val used : int + val used_by_API : int + val internally_used : int + val externally_used : int + + val lib_internal_used : int + val lib_internal_unused : int + val lib_internal_internally_used : int + val lib_internal_externally_used : int +end diff --git a/examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml b/examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml new file mode 100644 index 0000000..861496f --- /dev/null +++ b/examples/using_dune/reduced_lib/values_in_submodules_no_intf.ml @@ -0,0 +1,20 @@ +module Exported = struct + let used = 42 + let used_by_API = 42 + let internally_used = 42 + let externally_used = 42 + + let lib_internal_used = 42 + let lib_internal_unused = 42 + let lib_internal_internally_used = 42 + let lib_internal_externally_used = 42 + +end + +let () = + ignore Exported.used; + ignore Exported.internally_used + +let () = + ignore Exported.lib_internal_used; + ignore Exported.lib_internal_internally_used diff --git a/examples/using_dune/reduced_lib/values_no_intf.ml b/examples/using_dune/reduced_lib/values_no_intf.ml new file mode 100644 index 0000000..31621a8 --- /dev/null +++ b/examples/using_dune/reduced_lib/values_no_intf.ml @@ -0,0 +1,17 @@ +let used = 42 +let used_by_API = 42 +let internally_used = 42 +let externally_used = 42 + +let () = + ignore used; + ignore internally_used + +let lib_internal_used = 42 +let lib_internal_unused = 42 +let lib_internal_internally_used = 42 +let lib_internal_externally_used = 42 + +let () = + ignore lib_internal_used; + ignore lib_internal_internally_used