Skip to main content

check_collision_compatibility

Function check_collision_compatibility 

Source
fn check_collision_compatibility(
    master_flat_rewritten: &Map<String, Value>,
    v2_defs: &Map<String, Value>,
) -> Result<()>
Expand description

For every definition name present in both master_flat_rewritten and v2_defs, verifies they’re either identical or on the explicit known-divergent allowlist. build_combined always prefers v2’s copy on a collision; this only exists to catch collisions where that’s not safe - a future codex schema change that makes some other same-named type genuinely diverge between the two bundles would otherwise have v2 silently substitute the wrong shape into a master-derived envelope type (several of which transitively $ref into collision names like AbsolutePathBuf and RequestId), with no build failure and no warning.