Closed pshirshov closed 4 weeks ago
Attention: Patch coverage is 74.54545%
with 28 lines
in your changes missing coverage. Please review.
Please upload report for BASE (
develop@d04afdd
). Learn more about missing BASE report. Report is 8 commits behind head on develop.
This P/R introduces the concept of Locator-private bindings. Locator-local instances cannot be seen by inherited locators. There are 3 supported modes:
confined
(the old behavior, kept as the default one)exposed
For bootstrap injectors the default behavior is (3). Also, from now on the bootstrap planning uses predefined set of roots instead of
Roots.Everything
, so bootstrap context are subjected to garbage colleciton.THIS CHANGE IS INCOMPATIBLE WITH PREVIOUS VERSIONS and requires manual intervention if you have any custom bootstrap modules in your code.
All the bootstrap entities which you need to be available in the downstream locators, must be explicitly marked as
exposed
. There is no way to define GC roots for the bootstrap injector, so it considers all theexposed
entities in bootstrap modules to be roots.