Rust's next-generation trait solver
Summary
The article explains Rust's effort to rewrite the trait solver to simplify the trait system, fix soundness bugs, and improve compile times. It covers how the new solver uses caching and provisional results to handle cycles, how coinductive reasoning is currently limited to a few built-in traits, and how canonicalization helps caching and error messages. It also notes the current experimental status and early deployment in stable Rust for coherence checks, with many bugs open for investigation.