mirror of
https://github.com/rust-lang/rust.git
synced 2025-11-11 12:57:03 +00:00
by using an opaque type obligation to bubble up comparisons between opaque types and other types Also uses proper obligation causes so that the body id works, because out of some reason nll uses body ids for logic instead of just diagnostics.
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.