Previously, we would only look at associated types in `impl` blocks.
representability
rustc_middle
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.