Skip to content

Commit e20a209

Browse files
committed
[examples][dune] add wrapped_lib and its uses
`wrapped_lib` is a copy `unwrapped_lib` with a change in the `dune` fields: `(wrapped true)` (instead of `false`). The `use_wrapped_lib` is also a copy of `use_unwrapped_lib` with an extra module indirection to access elements in each `.ml` file. The `.exp` files have been updated by copying the expected reports for the `unwrapped_lib` to define expected reports for the `wrapped_lib`. In the future, new examples should be added in a subdir of `lib`, symlinked in both `unwrapped_lib` and `wrapped_lib`. Consequently, the "copy" property of their reports should hold. The new `.ref` files show that dune's wrapping of module is not an issue for the tracking of optional arguments and stylistic issues. It is only an issue for the default reports.
1 parent f83b4d1 commit e20a209

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+2163
-18
lines changed

check/classic/classic.exp

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,26 @@
2020
./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:20: unused_alias_fun
2121
./examples/using_dune/unwrapped_lib/values/values_no_intf.ml:25: unused_closure
2222

23+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:1: unused_fun_with_single_never_used_opt_arg
24+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:8: internally_used_fun_with_single_never_used_opt_arg
25+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:10: internally_used_fun_with_single_always_used_opt_arg
26+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:12: internally_used_fun_with_single_sometimes_used_opt_arg
27+
28+
./examples/using_dune/wrapped_lib/values/values.mli:2: unused_int
29+
./examples/using_dune/wrapped_lib/values/values.mli:3: internally_used_int
30+
./examples/using_dune/wrapped_lib/values/values.mli:14: unused_fun
31+
./examples/using_dune/wrapped_lib/values/values.mli:15: internally_used_fun
32+
./examples/using_dune/wrapped_lib/values/values.mli:20: unused_alias_fun
33+
./examples/using_dune/wrapped_lib/values/values.mli:25: unused_closure
34+
./examples/using_dune/wrapped_lib/values/values.mli:26: internally_used_closure
35+
./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:3: Exported.unused_int
36+
./examples/using_dune/wrapped_lib/values/values_in_submodules.mli:4: Exported.internally_used_int
37+
./examples/using_dune/wrapped_lib/values/values_in_submodules_no_intf.ml:3: Exported.unused_int
38+
./examples/using_dune/wrapped_lib/values/values_no_intf.ml:2: unused_int
39+
./examples/using_dune/wrapped_lib/values/values_no_intf.ml:13: unused_fun
40+
./examples/using_dune/wrapped_lib/values/values_no_intf.ml:20: unused_alias_fun
41+
./examples/using_dune/wrapped_lib/values/values_no_intf.ml:25: unused_closure
42+
2343
./examples/using_make/advanced/inc_val.mli:1: x
2444
./examples/using_make/advanced/inc_val.mli:2: y
2545

@@ -97,6 +117,22 @@ Nothing else to report in this section
97117
./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun
98118
./examples/using_dune/unwrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int
99119

120+
./examples/using_dune/wrapped_lib/obj/with_class.mli:1: unused#unused
121+
./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_fun
122+
./examples/using_dune/wrapped_lib/obj/with_class.mli:5: basics#never_used_int
123+
./examples/using_dune/wrapped_lib/obj/with_class.mli:23: unused_fun_class#unused
124+
./examples/using_dune/wrapped_lib/obj/with_class.mli:25: fun_class#unused
125+
./examples/using_dune/wrapped_lib/obj/with_class.mli:35: _self_used#unused
126+
./examples/using_dune/wrapped_lib/obj/with_class.mli:41: _self_used_fun_class#unused
127+
./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_fun
128+
./examples/using_dune/wrapped_lib/obj/without_class.mli:1: immediate#unused_int
129+
./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_fun
130+
./examples/using_dune/wrapped_lib/obj/without_class.mli:11: factory#unused_int
131+
./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_fun
132+
./examples/using_dune/wrapped_lib/obj/without_class.mli:22: _self_used_immediate#unused_int
133+
./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_fun
134+
./examples/using_dune/wrapped_lib/obj/without_class.mli:28: _self_used_factory#unused_int
135+
100136
./examples/using_make/obj/class.mli:1: c#h
101137
./examples/using_make/obj/class_type.mli:9: c#h
102138
./examples/using_make/obj/coerce.mli:6: p#f
@@ -151,6 +187,33 @@ Nothing else to report in this section
151187
./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param
152188
./examples/using_dune/unwrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit
153189

190+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:1: unused_single_no_param.Unused_single_no_param
191+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:2: unused_single_unit.Unused_single_unit
192+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:3: unused_single_param.Unused_single_param
193+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:5: unused_mix.Unused_no_param
194+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:6: unused_mix.Unused_unit
195+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:7: unused_mix.Unused_param
196+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:9: matched_single_no_param.Matched_single_no_param
197+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:10: matched_single_unit.Matched_single_unit
198+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:11: matched_single_param.Matched_single_param
199+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:13: matched_mix.Matched_no_param
200+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:14: matched_mix.Matched_unit
201+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:15: matched_mix.Matched_param
202+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:42: partially_used_mix_1.Partially_used_no_param
203+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:48: partially_used_mix_2.Partially_used_unit
204+
./examples/using_dune/wrapped_lib/constructors_and_records/constructors.mli:54: partially_used_mix_3.Partially_used_param
205+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:1: unused_single_unit.unused_single_unit
206+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:2: unused_single_param.unused_single_param
207+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:4: unused_mix.unused_unit
208+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:5: unused_mix.unused_param
209+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:8: written_single_unit.written_single_unit
210+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:9: written_single_param.written_single_param
211+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:11: written_mix.written_unit
212+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:12: written_mix.written_param
213+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:37: partially_used_mix_1.partially_used_unit
214+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:43: partially_used_mix_2.partially_used_param
215+
./examples/using_dune/wrapped_lib/constructors_and_records/records.mli:47: partially_used_in_match.partially_used_in_match_unit
216+
154217
./examples/using_make/record.mli:3: t0.unused
155218
./examples/using_make/record.mli:4: t0.f
156219
./examples/using_make/record.mli:10: X.t.unused
@@ -204,6 +267,46 @@ Nothing else to report in this section
204267
./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:8: ?duplicate
205268
./examples/using_dune/unwrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:17: ?type_used
206269

270+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?always
271+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?always
272+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?always
273+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?always
274+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?always
275+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?always
276+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:10: ?always
277+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:19: ?always
278+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:28: ?always
279+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always1
280+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always2
281+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:48: ?always3
282+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?always
283+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?always
284+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?always
285+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?always
286+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?always
287+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?always
288+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:5: ?always
289+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:16: ?always
290+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always1
291+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always2
292+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:22: ?always3
293+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?always
294+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?always
295+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?always
296+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?always
297+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?always
298+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?always
299+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:4: ?always
300+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:12: ?duplicate
301+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:15: ?duplicate
302+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:17: ?duplicate
303+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: ?type_used
304+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: ?type_used
305+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:30: ?type_used
306+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:3: ?always
307+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:8: ?duplicate
308+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:17: ?type_used
309+
207310
./examples/using_make/baz.ml:1: ?d
208311
./examples/using_make/baz.ml:5: ?d
209312
./examples/using_make/cond_sel.ml:1: ?a
@@ -298,6 +401,46 @@ Nothing else to report in this section
298401

299402
./examples/using_dune/unwrapped_lib/style/style.ml:3: ?opt
300403

404+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:1: ?never
405+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:8: ?never
406+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.ml:15: ?never
407+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:1: ?never
408+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:3: ?never
409+
./examples/using_dune/wrapped_lib/opt_args/mixed_args.mli:7: ?never
410+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:4: ?never
411+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:7: ?never
412+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:16: ?never
413+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:25: ?never
414+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never1
415+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never2
416+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:43: ?never3
417+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:58: ?never
418+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:63: ?never
419+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:68: ?never
420+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:73: ?never
421+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:78: ?never
422+
./examples/using_dune/wrapped_lib/opt_args/opt_args.ml:83: ?never
423+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:2: ?never
424+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:4: ?never
425+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:14: ?never
426+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never1
427+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never2
428+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:20: ?never3
429+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:26: ?never
430+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:28: ?never
431+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:30: ?never
432+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:32: ?never
433+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:34: ?never
434+
./examples/using_dune/wrapped_lib/opt_args/opt_args.mli:36: ?never
435+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:1: ?never
436+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:10: ?duplicate
437+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: ?type_used
438+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: ?type_used
439+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:1: ?never
440+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.mli:7: ?duplicate
441+
442+
./examples/using_dune/wrapped_lib/style/style.ml:3: ?opt
443+
301444
./examples/using_make/dir/alias_opt.ml:2: ?b
302445
./examples/using_make/dir/alias_opt.ml:11: ?a
303446
./examples/using_make/dir/alias_opt.ml:11: ?b
@@ -332,6 +475,17 @@ Nothing else to report in this section
332475
./examples/using_dune/unwrapped_lib/style/style.ml:4: let () = ... in ... (=> use sequence)
333476
./examples/using_dune/unwrapped_lib/style/style.ml:5: let x = ... in x (=> useless binding)
334477

478+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:20: val f: ... -> (... -> ?_:_ -> ...) -> ...
479+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:22: val f: ... -> (... -> ?_:_ -> ...) -> ...
480+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:25: val f: ... -> (... -> ?_:_ -> ...) -> ...
481+
./examples/using_dune/wrapped_lib/opt_args/opt_args_in_higher_order_fun.ml:27: val f: ... -> (... -> ?_:_ -> ...) -> ...
482+
483+
./examples/using_dune/wrapped_lib/style/style.ml:2: let () = ... in ... (=> use sequence)
484+
./examples/using_dune/wrapped_lib/style/style.ml:2: unit pattern unit_binding
485+
./examples/using_dune/wrapped_lib/style/style.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
486+
./examples/using_dune/wrapped_lib/style/style.ml:4: let () = ... in ... (=> use sequence)
487+
./examples/using_dune/wrapped_lib/style/style.ml:5: let x = ... in x (=> useless binding)
488+
335489
./examples/using_make/dir/fn_arg.ml:3: val f: ... -> (... -> ?_:_ -> ...) -> ...
336490
./examples/using_make/dir/fn_arg.ml:9: val f: ... -> (... -> ?_:_ -> ...) -> ...
337491
./examples/using_make/dir/fn_arg.ml:11: val f: ... -> (... -> ?_:_ -> ...) -> ...

0 commit comments

Comments
 (0)