-
Notifications
You must be signed in to change notification settings - Fork 409
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
regression (3.7): chamelon-unix.0.0.7 - dependency cycle between modules #7018
Comments
I had a look and there's indeed a cycle:
Now I need to understand why we weren't detecting it before. |
I guess the above isn't really a cycle. If we expand the dependency chain we get:
|
Demonstrate various types of module cycles that aren't cycles if we separate the module interface and module implementation graphs Signed-off-by: Rudi Grinberg <me@rgrinberg.com> <!-- ps-id: c79b09d2-6b42-415e-a789-fda7340a29ad -->
Demonstrate various types of module cycles that aren't cycles if we separate the module interface and module implementation graphs Signed-off-by: Rudi Grinberg <me@rgrinberg.com> <!-- ps-id: c79b09d2-6b42-415e-a789-fda7340a29ad -->
I thought about this again and I'm no longer sure we need to fix a bug here. Our dependency algorithm was specified to be:
And chamelon violates this specification. We have:
So when we compute The only reason why this works is that |
OK. I think that it makes sense. Since the latest version of |
I did the same for commons which was similarly affected: semgrep/semgrep#7173. And I'll add upper bounds in opam-repository. |
If there's nothing to fix, let's close this one then. Thanks |
Two packages got broken by dune 3.7: commons and chamelon. They were relying on behavior in dune's dependency cycle detection that we classified as a bug (see ocaml/dune#7018). Since the latest versions are affected, we sent patches upstream: yomimono/chamelon#18, semgrep/semgrep#7173.
Hi,
chamelon-unix.0.0.7
does not build with3.7.0~alpha1
, though it does with3.6.2
.The error is:
I bisected that to fb085c0 (#6594).
The dune file in
lib
does not seem to have any gotchas:This might be related to #7015 since it comes from the same feature but it's hard to tell.
@rgrinberg if you could have a look at this one too (or if you fix #7015 first I'm happy to check if that fixes this too).
Thanks!
The text was updated successfully, but these errors were encountered: