SIGN IN SIGN UP

Introduce `CanonicalizerState`

There are many short lived `Canonicalizer` instances. These each involve
some vecs and hashmaps, and the cost of the allocations for these adds
up. This commit introduces `CanonicalizerState` which holds the vecs and
hashmaps, and puts a single instance in `InferCtxt` to be cleared and
reused for each canonicalizer.
N
Nicholas Nethercote committed
53360a3f2c1aafe73fdbaf586cc1acc329d25825
Parent: c98d0cb