An identifier that specifies the address space that some operation
should operate on. Special address spaces have an effect on code generation,
depending on the target and the address spaces it implements.
Note that this information is advisory only, and backends are free to ignore it.
It can only be used to encode potential optimizations, but no critical information.
Requirements for a StableHashingContext to be used in this crate.
This is a hack to allow using the HashStable_Generic derive macro
instead of implementing everything in rustc_middle.