Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing -opaque when compiling implementation-only modules #1107

Closed
jberdine opened this issue Aug 6, 2018 · 0 comments · Fixed by ocaml/opam-repository#12453
Closed

Missing -opaque when compiling implementation-only modules #1107

jberdine opened this issue Aug 6, 2018 · 0 comments · Fixed by ocaml/opam-repository#12453

Comments

@jberdine
Copy link
Contributor

jberdine commented Aug 6, 2018

It seems that the test for when to add the -opaque option only triggers when compiling interfaces. For modules with only an implementation, this seems to result in a .cmi that is produced without -opaque, leading to warning 58 firing on its clients that do have interfaces.

This can be seen with make dev of a wip branch of ocamlformat.

rgrinberg added a commit to rgrinberg/jbuilder that referenced this issue Aug 7, 2018
-opaque should be passed for mli only modules or for all modules when opaque
 mode is on

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
@ghost ghost mentioned this issue Aug 7, 2018
rgrinberg added a commit to rgrinberg/jbuilder that referenced this issue Aug 7, 2018
-opaque should be passed for mli only modules or for all modules when opaque
 mode is on

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
rgrinberg added a commit that referenced this issue Aug 7, 2018
rgrinberg added a commit to rgrinberg/opam-repository that referenced this issue Aug 8, 2018
CHANGES:

- Fix `$ jbuilder --dev` (ocaml/dune#1104, fixes ocaml/dune#1103, @rgrinberg)

- Fix dune exec when `--build-dir` is set to an absolute path (ocaml/dune#1105, fixes
  ocaml/dune#1101, @rgrinberg)

- Fix duplicate profile argument in suggested command when an external library
  is missing (ocaml/dune#1109, ocaml/dune#1106, @emillon)

- `-opaque` wasn't correctly being added to modules without an interface.
  (ocaml/dune#1108, fix ocaml/dune#1107, @rgrinberg)

- Fix validation of library `name` fields and make sure this validation also
  applies when the `name` is derived from the `public_name`. (ocaml/dune#1110, fix ocaml/dune#1102,
  @rgrinberg)

- Fix a bug causing the toplevel `env` stanza in the workspace file to
  be ignored when at least one context had `(merlin)` (ocaml/dune#1114, @diml)
facebook-github-bot pushed a commit to facebook/infer that referenced this issue Aug 21, 2018
Summary:
This seems to fix intermittent "Corrupted compilation unit description" failures in the build: ocaml/dune#1157

It also fixes build warnings 58: ocaml/dune#1107

Reviewed By: mbouaziz

Differential Revision: D9420579

fbshipit-source-id: d63adee67
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant