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