-
Notifications
You must be signed in to change notification settings - Fork 411
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
The @all alias does not produce .cmt files which are produced by @check. #3182
Comments
Hmm, it's because For instance, if you add In Dune, we could either:
1 is a bit ad-hoc, but it's probably the most viable solution. |
@diml I'm testing out a global dead code analysis that relies on this. |
Ok, I don't have a satisfying answer yet, but I'm making a note to myself to bring the subject up to the rest of the team at the next dev meeting. Hopefully we can find a good compromise. The problem here is that requesting an alias cannot change the behaviour of the build. i.e. aliases are constructed in a pure manner and have no side effects. However, maybe we could introduce a separate command or setting. Or even change the compiler so that we can produce only the cmt file. That would be nice actually. |
@cristianoc we discussed the problem last week. You can find the notes of our discussion here. Basically, there is no perfect solution, but we decided on the following we should fix this PR: when building in bytecode is not requested by the user, for instance because the user wrote Would you be happy to write a PR for this change? Happy to give some pointers if yet :) |
Hey @jeremiedimino thank you for the update. Once a better workaround has shipped, I will update the recommendation. |
Fair enough. @rgrinberg I'm assigning this to you, let's get rid of the need for such workarounds! |
@cristianoc Is there a reason why you can't enable bytecode targets in your projects? |
The ides is just to simplify the set-up instructions, so people can use their build with no changes. Not a huge deal, just a convenience. |
Thanks, that makes sense. For now I think the correct workaround is to tell people that disabling bytecode targets is a bad idea (for many reasons)
…On Sep 8, 2020, 11:53 PM -0700, Cristiano Calcagno ***@***.***>, wrote:
The ides is just to simplify the set-up instructions, so people can use their build with no changes. Not a huge deal, just a convenience.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
In our projects we rely on The current workaround we use is to build This is suboptimal for two reasons at least:
I wonder if we can fix these two items. |
Hi all, is there any news on this issue? |
No news. No progress has been made because nobody has yet proposed a solid plan for to fix this issue |
Expected Behavior
In example https://github.com/cristianoc/dune-cmt,
dune build
should produce both a.cmt
and.cmti
file.Actual Behavior
dune build
produces only a.cmti
file.dune build @check
produces s both a.cmti
and a.cmt
.Specifications
dune
(output ofdune --version
):2.2.0
ocaml
(output ofocamlc --version
)4.06.1
macOS Catalina 10.15.3
The text was updated successfully, but these errors were encountered: