-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
delay loading of extensions as much as possible #48674
Conversation
de7a7e7
to
0fd670f
Compare
base/loading.jl
Outdated
for pkgid in copy(keys(EXT_DORMITORY)) | ||
haskey(Base.loaded_modules, pkgid) || continue |
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.
would this be any better?
for pkgid in copy(keys(EXT_DORMITORY)) | |
haskey(Base.loaded_modules, pkgid) || continue | |
for pkgid in intersect(keys(Base.loaded_modules), keys(Base.EXT_DORMITORY)) |
I also wonder if there is any meaningful way to sort this list to be predictable (if that is worthwhile to do), for example we could try to sort the result, but isless(::Base.PkgId, ::Base.PkgId)
is not defined.
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.
I did this and also sorted by UUID.
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.
I hope folks don't decide to give their packages low or high uuids to hack trigger order.
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.
Doesn't really matter, this is just to keep it consistent.
(cherry picked from commit e3043a8)
This reverts commit e3043a8.
This reverts commit e3043a8.
This reverts commit e3043a8.
This reverts commit e3043a8.
This reverts commit e3043a8.
Revert "delay loading of extensions as much as possible (#48674)"
)" This reverts commit e3043a8.
(Diff best viewed with whitespace ignored).
To reduce the likelihood of cycles, we delay loading extensions until all packages have finished loading during a
require
call and we are ready to return to Main.Fixes #48533