Skip to content

Commit 269c08a

Browse files
authored
test: demonstrate @unused-libs issues with (modes melange) (#12826)
Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
1 parent f783f81 commit 269c08a

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
Demonstrate unused-libs issues with `(modes melange)`
2+
3+
$ cat >dune-project <<EOF
4+
> (lang dune 3.21)
5+
> (using melange 1.0)
6+
> EOF
7+
8+
$ cat > dune <<EOF
9+
> (library
10+
> (name used_lib)
11+
> (modes melange)
12+
> (modules used_lib))
13+
>
14+
> (library
15+
> (name unused_lib)
16+
> (modes melange)
17+
> (modules unused_lib))
18+
>
19+
> (library
20+
> (name unused_lib2)
21+
> (modes melange)
22+
> (modules unused_lib2))
23+
>
24+
> (library
25+
> (name mylib)
26+
> (modules mylib)
27+
> (modes melange)
28+
> (libraries used_lib unused_lib unused_lib2))
29+
> EOF
30+
31+
$ cat > used_lib.ml <<EOF
32+
> let helper x = x + 1
33+
> EOF
34+
35+
$ cat > unused_lib.ml <<EOF
36+
> let unused_helper x = x * 2
37+
> EOF
38+
39+
$ cat > unused_lib2.ml <<EOF
40+
> let unused_helper x = x * 3
41+
> EOF
42+
43+
$ cat > mylib.ml <<EOF
44+
> let compute x = Used_lib.helper x
45+
> EOF
46+
47+
$ dune build @unused-libs
48+
Error: No rule found for .mylib.objs/byte/mylib.cmi
49+
-> required by alias unused-libs in dune:16
50+
Error: No rule found for .mylib.objs/byte/mylib.cmo
51+
-> required by alias unused-libs in dune:16
52+
Error: No rule found for .unused_lib.objs/byte/unused_lib.cmi
53+
-> required by alias unused-libs in dune:6
54+
Error: No rule found for .unused_lib.objs/byte/unused_lib.cmo
55+
-> required by alias unused-libs in dune:6
56+
Error: No rule found for .unused_lib2.objs/byte/unused_lib2.cmi
57+
-> required by alias unused-libs in dune:11
58+
Error: No rule found for .unused_lib2.objs/byte/unused_lib2.cmo
59+
-> required by alias unused-libs in dune:11
60+
Error: No rule found for .used_lib.objs/byte/used_lib.cmi
61+
-> required by alias unused-libs in dune:1
62+
Error: No rule found for .used_lib.objs/byte/used_lib.cmo
63+
-> required by alias unused-libs in dune:1
64+
[1]
65+

0 commit comments

Comments
 (0)