Overview
Introduce a feature to compare the structure of two IR types in bdl, using their typePaths (e.g., foo.bar.MyTypeA, foo.bar.MyTypeB). This allows determining structural equivalence and whether one type fully contains another (subtype inclusion).
Key Requirements
- Take two typePaths and compare their structures
- Indicate:
- Structural equivalence (types have identical structure)
- Subtype containment (all fields in one type are present in the other)
- Support various IR type kinds: Plain, Array, Dictionary, Struct, Union, Enum, Custom, Oneof
Overview
Introduce a feature to compare the structure of two IR types in bdl, using their typePaths (e.g.,
foo.bar.MyTypeA,foo.bar.MyTypeB). This allows determining structural equivalence and whether one type fully contains another (subtype inclusion).Key Requirements