fac8fa5672
Do not fetch HIR to compute variances. Everything can be done using higher-level queries. This simplifies the code, and should allow better incremental caching.
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.