rustc_span::hygiene

Function update_disambiguator

Source
fn update_disambiguator(
    expn_data: &mut ExpnData,
    ctx: impl HashStableContext,
) -> ExpnHash
Expand description

Updates the disambiguator field of the corresponding ExpnData such that the Fingerprint of the ExpnData does not collide with any other ExpnIds.

This method is called only when an ExpnData is first associated with an ExpnId (when the ExpnId is initially constructed, or via set_expn_data). It is not called for foreign ExpnIds deserialized from another crate’s metadata - since ExpnHash includes the stable crate id, collisions are only possible between ExpnIds within the same crate.