Improve error in modules partition

Specify how to fix the error (by writing modules fields)
This commit is contained in:
Rudi Grinberg 2018-03-05 17:35:18 +07:00
parent 09aa2cd1cf
commit 719cf5eea0
2 changed files with 7 additions and 1 deletions

View File

@ -37,7 +37,11 @@ let emit_warnings t =
Loc.warn loc
"Module %S is used in several stanzas:@\n\
@[<v>%a@]@\n\
This will become an error in the future."
This will become an error in the future.@.\
To fix this error, you must specify an explicit modules field in \
every library, executable, and executables stanzas in this jbuild \
file. Note that each module cannot appear in more than one modules \
field - it must belong to a single library or executable"
name
(Fmt.list (Fmt.prefix (Fmt.string "- ") Loc.pp_file_colon_line))
locs)

View File

@ -4,6 +4,7 @@
- jbuild:8
- jbuild:4
This will become an error in the future.
To fix this error, you must specify an explicit modules field in every library, executable, and executables stanzas in this jbuild file. Note that each module cannot appear in more than one modules field - it must belong to a single library or executable
Multiple rules generated for _build/default/lib.o:
- <internal location>
- <internal location>
@ -15,6 +16,7 @@
- src/jbuild:4
- src/jbuild:3
This will become an error in the future.
To fix this error, you must specify an explicit modules field in every library, executable, and executables stanzas in this jbuild file. Note that each module cannot appear in more than one modules field - it must belong to a single library or executable
ocamldep src/x.ml.d
ocamlc src/.a.objs/a.{cmi,cmo,cmt}
ocamlc src/.a.objs/a__X.{cmi,cmo,cmt}