Core: Consolidate typed container logic with type_info.h
#111661
+116
−450
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.
type_info
properties to detect & identify Variant types #88567The recent merge of #111561 enabled me to revisit this idea of simplifying typed container include logic, as that turned out to be the missing link in making everything else work! Instead of having to jump through hoops of dependency chains,
type_info.h
already has all the information it needs to declare relevant typing metadata forTypedArray
andTypedDictionary
.The primary difference in this implementation compared to before is how the implementation is all handled in
type_info.h
now, instead ofvariant.h
. This makes more sense logistically, as the typing metadata already exists in that context & could be safely reused. Because the information can be safely parsed ahead of time, the need for dedicated macros is completely gone: all typed containers can rely on a single implementation that covers all use-cases!This entirely purges any attempted "bonus" codestyle changes/fixes from the original PR attempt: this attempts as atomic of a conversion as possible. As such, instead of removing the typed container headers entirely, they're now simple stub files. Miraculously, there was exactly one file where an additional include was required; everything else happens to utilize
type_info.h
transitively, which is a silver-lining of our current#include
issues. A future PR focused entirely on stylistic changes can remove those headers outright & any references to them.