rust/src/librustc_typeck
David Wood 762137e212
hir: introduce QPath::LangItem
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>
2020-08-16 15:42:25 +01:00
..
check hir: introduce QPath::LangItem 2020-08-16 15:42:25 +01:00
coherence Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
collect merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
impl_wf_check merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
outlives merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
variance merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
astconv.rs hir: introduce QPath::LangItem 2020-08-16 15:42:25 +01:00
Cargo.toml replaced log with tracing 2020-08-15 13:03:11 -07:00
check_unused.rs merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
collect.rs hir: introduce QPath::LangItem 2020-08-16 15:42:25 +01:00
constrained_generic_params.rs introduce PredicateAtom 2020-07-27 21:07:37 +02:00
expr_use_visitor.rs Rollup merge of #74424 - sexxi-goose:move_hir_place, r=nikomatsakis 2020-07-17 14:09:26 -07:00
impl_wf_check.rs Use for<'tcx> fn pointers in Providers, instead of having Providers<'tcx>. 2020-07-05 23:00:14 +03:00
lib.rs replaced log with tracing 2020-08-15 13:03:11 -07:00
mem_categorization.rs fix clippy::needless_return: remove unneeded return statements 2020-08-08 00:57:37 +02:00
README.md rust-lang.github.io/rustc-dev-guide -> rustc-dev-guide.rust-lang.org 2020-03-10 17:08:18 -03:00
structured_errors.rs rustc -> rustc_middle part 3 (rustfmt) 2020-03-30 07:19:55 +02:00

For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.