-
Notifications
You must be signed in to change notification settings - Fork 415
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
Restore stronger check for overlapping libraries #587
Conversation
I'm not entirely sure about the name |
src/jbuild.ml
Outdated
@@ -795,7 +797,7 @@ module Executables = struct | |||
Ok public_names | |||
else | |||
Error "The list of public names must be of the same \ | |||
length as the list of names") | |||
length as the list of names") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
whitespace issues?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops
I'm not so sure why it has to be an option on buildables. Shouldn't it be a workspace or a profile setting? For example it would be nice if building |
@diml Thank you! Pinning to your fork/branch fixes the simple In the real project with a more complicated nesting of code I now get the same error I would get in beta17 (names edited):
while in beta18 I'd just get a type error. Ah, and there's a typo in the error message there ( |
Thanks, it's fixed |
@rgrinberg, possibly. Although even for |
Would |
I'm not sure |
I like |
I updated the code |
This is an ancient feature introduced in ocaml#587 But no test cases were added. This PR addresses this. Signed-off-by: Rudi Grinberg <[email protected]>
This is an ancient feature introduced in ocaml#587 But no test cases were added. This PR addresses this. Signed-off-by: Rudi Grinberg <[email protected]>
Let's consider the following case:
a
is part of the workspacea
depends onb
which is only installedb
depends onc
which is both installed and present in the workspacebefore beta18, this was an error. In beta18 it isn't an error anymore, this allows in particular to lint Base without having to create a big workspace. However the new behavior is confusing for users, so we restore the pre-beta18 behavior by default and add an option
allow_soft_conflicts
to get the beta18 behavior.