Use a no-op package loader by default in PluggableRuntime #4055
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This fixes the root cause of #4029 by switching
PluggableRuntime
from theBuiltinPackageLoader
to anUnsupportedPackageLoader
which will error out when you try to resolve a package tree. This should side-step the.expect("Loading the builtin resolver should never fail")
@kwonoj was encountering.I've also added default implementations for
Runtime::module_cache()
andRuntime::package_loader()
which will return some sane values. In the case ofmodule_cache()
, we'll return a thread-local cache so users get some level of caching by default. Forpackage_loader()
I'm just returningUnsupportedPackageLoader
.Closes #4029.