rust/compiler/rustc_borrowck
Nicholas Nethercote 9a0513ad71 Optimize Trace.
`Trace::FromOutlivesConstraint` contains an `OutlivesConstraint`, which
is 72 bytes. Lots of these are created but never used.

This commit splits `Trace::FromOutlivesConstraint` into three new
variants: `FromVanilla`, `FromStatic`, `FromMember`. Each of these
contains just enough data to construct an `OutlivesConstraint`, if
necessary. This reduces the size of `Trace` from 72 bytes to 16 bytes.
All this avoids some memory traffic.
2025-02-28 09:36:18 +11:00
..
2025-02-28 09:36:18 +11:00