Skip to content

Commit bdd7ac8

Browse files
committed
[examples][dune] add tests for module type inclusion
It is not uncommon to use a `.ml` (without `.mli`) to expose module types and include these in other module's `.mli`. The new tests specifically target this pattern with a toplevel `include`
1 parent f898bd9 commit bdd7ac8

File tree

15 files changed

+84
-0
lines changed

15 files changed

+84
-0
lines changed

check/classic/classic.exp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:12: internally_used_fun_with_single_sometimes_used_opt_arg
1111

1212
./examples/using_dune/unwrapped_lib/values/builder_sig_api/bsa_api.ml:7: unused
13+
./examples/using_dune/unwrapped_lib/values/include_modtype/imt_modtype.ml:2: unused
1314
./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int
1415
./examples/using_dune/unwrapped_lib/values/values.mli:3: internally_used_int
1516
./examples/using_dune/unwrapped_lib/values/values.mli:14: unused_fun
@@ -31,6 +32,7 @@
3132
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:12: internally_used_fun_with_single_sometimes_used_opt_arg
3233

3334
./examples/using_dune/wrapped_lib/values/builder_sig_api/bsa_api.ml:7: unused
35+
./examples/using_dune/wrapped_lib/values/include_modtype/imt_modtype.ml:2: unused
3436
./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int
3537
./examples/using_dune/wrapped_lib/values/values.mli:3: internally_used_int
3638
./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun

check/internal/internal.exp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg
77

88
./examples/using_dune/unwrapped_lib/values/builder_sig_api/bsa_api.ml:7: unused
9+
./examples/using_dune/unwrapped_lib/values/include_modtype/imt_modtype.ml:2: unused
910
./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int
1011
./examples/using_dune/unwrapped_lib/values/values.mli:14: unused_fun
1112
./examples/using_dune/unwrapped_lib/values/values.mli:20: unused_alias_fun
@@ -20,6 +21,7 @@
2021
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg
2122

2223
./examples/using_dune/wrapped_lib/values/builder_sig_api/bsa_api.ml:7: unused
24+
./examples/using_dune/wrapped_lib/values/include_modtype/imt_modtype.ml:2: unused
2325
./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int
2426
./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun
2527
./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun

check/threshold-1/threshold-1.exp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg
77

88
./examples/using_dune/unwrapped_lib/values/builder_sig_api/bsa_api.ml:7: unused
9+
./examples/using_dune/unwrapped_lib/values/include_modtype/imt_modtype.ml:2: unused
910
./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int
1011
./examples/using_dune/unwrapped_lib/values/values.mli:14: unused_fun
1112
./examples/using_dune/unwrapped_lib/values/values.mli:20: unused_alias_fun
@@ -20,6 +21,7 @@
2021
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg
2122

2223
./examples/using_dune/wrapped_lib/values/builder_sig_api/bsa_api.ml:7: unused
24+
./examples/using_dune/wrapped_lib/values/include_modtype/imt_modtype.ml:2: unused
2325
./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int
2426
./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun
2527
./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun
@@ -79,6 +81,7 @@
7981

8082
./examples/using_dune/bin/use_unwrapped_lib/use_builder_sig_api.mli:1: mark_used
8183
./examples/using_dune/bin/use_unwrapped_lib/use_constructors.mli:1: mark_used
84+
./examples/using_dune/bin/use_unwrapped_lib/use_include_modtype.mli:1: mark_used
8285
./examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.mli:1: mark_used
8386
./examples/using_dune/bin/use_unwrapped_lib/use_opt_args.mli:1: mark_used
8487
./examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used
@@ -94,6 +97,7 @@
9497

9598
./examples/using_dune/bin/use_wrapped_lib/use_builder_sig_api.mli:1: mark_used
9699
./examples/using_dune/bin/use_wrapped_lib/use_constructors.mli:1: mark_used
100+
./examples/using_dune/bin/use_wrapped_lib/use_include_modtype.mli:1: mark_used
97101
./examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli:1: mark_used
98102
./examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli:1: mark_used
99103
./examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used

check/threshold-3-0.5/threshold-3-0.5.exp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
./examples/using_dune/unwrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg
77

88
./examples/using_dune/unwrapped_lib/values/builder_sig_api/bsa_api.ml:7: unused
9+
./examples/using_dune/unwrapped_lib/values/include_modtype/imt_modtype.ml:2: unused
910
./examples/using_dune/unwrapped_lib/values/values.mli:2: unused_int
1011
./examples/using_dune/unwrapped_lib/values/values.mli:14: unused_fun
1112
./examples/using_dune/unwrapped_lib/values/values.mli:20: unused_alias_fun
@@ -20,6 +21,7 @@
2021
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg
2122

2223
./examples/using_dune/wrapped_lib/values/builder_sig_api/bsa_api.ml:7: unused
24+
./examples/using_dune/wrapped_lib/values/include_modtype/imt_modtype.ml:2: unused
2325
./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int
2426
./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun
2527
./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun
@@ -79,6 +81,7 @@
7981

8082
./examples/using_dune/bin/use_unwrapped_lib/use_builder_sig_api.mli:1: mark_used
8183
./examples/using_dune/bin/use_unwrapped_lib/use_constructors.mli:1: mark_used
84+
./examples/using_dune/bin/use_unwrapped_lib/use_include_modtype.mli:1: mark_used
8285
./examples/using_dune/bin/use_unwrapped_lib/use_mixed_args.mli:1: mark_used
8386
./examples/using_dune/bin/use_unwrapped_lib/use_opt_args.mli:1: mark_used
8487
./examples/using_dune/bin/use_unwrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used
@@ -94,6 +97,7 @@
9497

9598
./examples/using_dune/bin/use_wrapped_lib/use_builder_sig_api.mli:1: mark_used
9699
./examples/using_dune/bin/use_wrapped_lib/use_constructors.mli:1: mark_used
100+
./examples/using_dune/bin/use_wrapped_lib/use_include_modtype.mli:1: mark_used
97101
./examples/using_dune/bin/use_wrapped_lib/use_mixed_args.mli:1: mark_used
98102
./examples/using_dune/bin/use_wrapped_lib/use_opt_args.mli:1: mark_used
99103
./examples/using_dune/bin/use_wrapped_lib/use_opt_args_in_higher_order_fun.mli:1: mark_used
@@ -269,6 +273,9 @@
269273
./examples/using_dune/unwrapped_lib/values/builder_sig_api/bsa_api.ml:9: internally_used
270274
./examples/using_dune/unwrapped_lib/values/builder_sig_api/bsa_api.ml:10: externally_used
271275
./examples/using_dune/unwrapped_lib/values/builder_sig_api/bsa_api.ml:11: sometimes_used
276+
./examples/using_dune/unwrapped_lib/values/include_modtype/imt_modtype.ml:4: internally_used
277+
./examples/using_dune/unwrapped_lib/values/include_modtype/imt_modtype.ml:5: externally_used
278+
./examples/using_dune/unwrapped_lib/values/include_modtype/imt_modtype.ml:6: sometimes_used
272279
./examples/using_dune/unwrapped_lib/values/values.mli:1: used_int
273280
./examples/using_dune/unwrapped_lib/values/values.mli:13: used_fun
274281
./examples/using_dune/unwrapped_lib/values/values.mli:19: used_alias_fun
@@ -301,6 +308,9 @@
301308
./examples/using_dune/wrapped_lib/values/builder_sig_api/bsa_api.ml:9: internally_used
302309
./examples/using_dune/wrapped_lib/values/builder_sig_api/bsa_api.ml:10: externally_used
303310
./examples/using_dune/wrapped_lib/values/builder_sig_api/bsa_api.ml:11: sometimes_used
311+
./examples/using_dune/wrapped_lib/values/include_modtype/imt_modtype.ml:4: internally_used
312+
./examples/using_dune/wrapped_lib/values/include_modtype/imt_modtype.ml:5: externally_used
313+
./examples/using_dune/wrapped_lib/values/include_modtype/imt_modtype.ml:6: sometimes_used
304314
./examples/using_dune/wrapped_lib/values/values.mli:1: used_int
305315
./examples/using_dune/wrapped_lib/values/values.mli:13: used_fun
306316
./examples/using_dune/wrapped_lib/values/values.mli:19: used_alias_fun
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
(* use Imt_include *)
2+
let () =
3+
ignore Imt_include.used;
4+
ignore Imt_include.externally_used;
5+
ignore Imt_include.sometimes_used
6+
7+
(* use Imt_include_use_less *)
8+
let () =
9+
ignore Imt_include.used;
10+
ignore Imt_include.externally_used
11+
12+
let is_used = ref false
13+
let mark_used () =
14+
is_used := true
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
val mark_used : unit -> unit

examples/using_dune/bin/use_unwrapped_lib/use_unwrapped_lib.ml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ let () =
2323
let () =
2424
Use_builder_sig_api.mark_used ()
2525

26+
let () =
27+
Use_include_modtype.mark_used ()
28+
2629
let is_used = ref false
2730
let mark_used () =
2831
is_used := true
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
open Wrapped_lib
2+
3+
(* use Imt_include *)
4+
let () =
5+
ignore Imt_include.used;
6+
ignore Imt_include.externally_used;
7+
ignore Imt_include.sometimes_used
8+
9+
(* use Imt_include_use_less *)
10+
let () =
11+
ignore Imt_include.used;
12+
ignore Imt_include.externally_used
13+
14+
let is_used = ref false
15+
let mark_used () =
16+
is_used := true
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
val mark_used : unit -> unit

examples/using_dune/bin/use_wrapped_lib/use_wrapped_lib.ml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ let () =
2323
let () =
2424
Use_builder_sig_api.mark_used ()
2525

26+
let () =
27+
Use_include_modtype.mark_used ()
28+
2629
let is_used = ref false
2730
let mark_used () =
2831
is_used := true

0 commit comments

Comments
 (0)