pub fn same_specialization(a: Type<'_>, b: Type<'_>) -> boolExpand description
The VERIFY ground truth for class-template dedup (this module’s doc
comment): two specializations are the same template iff they are
literally the same ClassType symbol. Never a structural re-derivation
(unlike dedup.rs’s instance_body_has_same_type) — slang’s own
specialization cache already guarantees pointer identity for a genuinely
matching binding, so re-deriving “same shape” here would be strictly
weaker, not stronger, than just comparing identity directly. Exposed
(not just an internal helper of assign_class_template_ids) so a test
can drive hash_then_verify_dedup directly with a forced, fabricated
ClassTemplateKey collision between two genuinely different classes —
the same “bypass the real hash, exercise only the verify step” shape
netlist_dedup.rs’s own
hash_bucket_collision_between_different_modules_is_rejected_by_pairwise_oracle
uses for module Templates.