16502, “vasslitvinov”, “POI-aware caching for ‘init’ and ‘deinit’”, “2020-09-29T04:28:50Z”
With #16492, POI-aware caching is enabled for copy initializers, among other things.
For uniformity, we should enable it also for initializers and deinitializers.
How come it is not yet enabled for these?
Visibility lookup for initializers (not for copy-initializers,
init=) follows a different code path in the compiler and is not hooked up for POI-aware caching.
deinit is done in a different spot in the compiler and uses the scope of the type definition for visibility lookup, regardless of the scope where it is invoked.