Use deferred where needed instead of a load method on all registries #5112
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.
Should fix an issue where the providers registry is called before the load method was called.
Instead of having a load method on all registries, only have a load method on registries that need it (e.g. ones loading resource files).
You probably noticed that a few new DeferredRegistry classes were added. This is because while DeferredRegistry technically works with any registry type, almost every (if not all) implementations of Registry have their own methods. A good example would be VersionedRegistry. Having a DeferredRegistry class for each type allows you to use the deferred variant identically to the non-deferred variant.