For high-level intro to how type checking works in rustc, see the [type checking] chapter of the [rustc dev guide]. [type checking]: https://rustc-dev-guide.rust-lang.org/type-checking.html [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/