Function rustc_span::hygiene::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.