forked from JuliaArrays/LazyArrays.jl
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Avoid depending on extension from within another extension
Julia's loading system ought to allow an extension w/ triggers {B,C} to depend on an extension w/ triggers {A,C}, under the condition that B depends on A (i.e. the triggers for the second extension are a strict subset of the triggers for the first extension) Unfortunately Julia's purely trigger-based mechanism for extensions does not actually do that. If `C` is the loaded after `{A,B}` then both of these extensions will trigger "simultaneously" and they will be loaded in an indeterminate order. That problem is the same as the "cycle" in JuliaLang/julia#55557, so-called because pre- compilation will try to load each of the simultaneously-triggered extensions "before" the other repeatedly, leading to an ordering cycle. This works around the problem by removing the inter-extension dependency.
- Loading branch information
1 parent
25426ee
commit 94fd13b
Showing
3 changed files
with
14 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters