This commit introduces `QPath::LangItem` to the HIR and uses it in AST lowering instead of constructing a `hir::Path` from a slice of symbols. This might be better for performance, but is also much cleaner as the previous approach is fragile. In addition, it resolves a bug (#61019) where an extern crate imported as "std" would result in the paths created during AST lowering being resolved incorrectly (or not at all). Co-authored-by: Matthew Jasper <mjjasper1@gmail.com> Signed-off-by: David Wood <david@davidtw.co> |
||
|---|---|---|
| .. | ||
| check | ||
| coherence | ||
| collect | ||
| impl_wf_check | ||
| outlives | ||
| variance | ||
| astconv.rs | ||
| Cargo.toml | ||
| check_unused.rs | ||
| collect.rs | ||
| constrained_generic_params.rs | ||
| expr_use_visitor.rs | ||
| impl_wf_check.rs | ||
| lib.rs | ||
| mem_categorization.rs | ||
| README.md | ||
| structured_errors.rs | ||
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.