rust/compiler/rustc_middle
Nilstrieb 41a9cbeb64 Shrink SelectionError a lot
`SelectionError` used to be 80 bytes (on 64 bit). That's quite big.
Especially because the selection cache contained `Result<_,
SelectionError>. The Ok type is only 32 bytes, so the 80 bytes
significantly inflate the size of the cache.

Most variants of the `SelectionError` seem to be hard errors, only
`Unimplemented` shows up in practice (for cranelift-codegen, it occupies
23.4% of all cache entries). We can just box away the biggest variant,
`OutputTypeParameterMismatch`, to get the size down to 16 bytes, well
within the size of the Ok type inside the cache.
2023-05-09 07:10:47 +00:00
..
src Shrink SelectionError a lot 2023-05-09 07:10:47 +00:00
Cargo.toml Remove QueryEngine trait 2023-04-26 07:46:13 +02:00
messages.ftl Avoid ICEing miri on layout query cycles 2023-05-02 16:14:20 +00:00
README.md

For more information about how rustc works, see the rustc dev guide.