rust/src/librustc/middle
Niko Matsakis 2291abf313 refactor item-paths in diagnostics, symbol names
This change has a few parts. We introduce a new `item_path` module for
constructing item paths. The job of this module is basically to make
nice, user-readable paths -- but these paths are not necessarily 100%
unique. They meant to help a *human* find code, but not necessarily a
compute. These paths are used to drive `item_path_str` but also symbol
names.

Because the paths are not unique, we also modify the symbol name hash to
include the full `DefPath`, whereas before it included only those
aspects of the def-path that were not included in the "informative"
symbol name.

Eventually, I'd like to make the item-path infrastructure a bit more
declarative.  Right now it's based purely on strings. In particular, for
impls, we should supply the raw types to the `ItemPathBuffer`, so that
symbol names can be encoded using the C++ encoding scheme for better
integration with tooling.
2016-03-25 14:07:19 -04:00
..
cfg Switch libgraphviz from type params to associated types for Node/Edge. 2016-03-21 18:36:14 +01:00
infer fix alignment 2016-03-22 22:03:54 -05:00
traits remove ErasedRegions from substitutions 2016-03-24 14:01:28 -04:00
ty refactor item-paths in diagnostics, symbol names 2016-03-25 14:07:19 -04:00
astconv_util.rs Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
check_match.rs try! -> ? 2016-03-22 22:01:37 -05:00
const_eval.rs try! -> ? 2016-03-22 22:01:37 -05:00
const_qualif.rs move more checks out of librustc 2016-01-21 10:52:37 +01:00
cstore.rs track the extern-crate def-id rather than path 2016-03-25 14:07:19 -04:00
dataflow.rs try! -> ? 2016-03-22 22:01:37 -05:00
dead.rs lint: mark associated types as live for the dead_code pass 2016-03-09 11:36:05 -08:00
def.rs Remove LastPrivate 2016-02-26 00:37:27 +00:00
def_id.rs fix alignment 2016-03-22 22:03:54 -05:00
dependency_format.rs use structured errors 2015-12-30 14:27:59 +13:00
effect.rs Expose attached attributes to FnKind abstraction so that I can look at them in borrowck. 2016-03-21 18:36:22 +01:00
entry.rs Instrument a bunch of tasks that employ the HIR map in one way or 2016-02-05 13:19:55 -05:00
expr_use_visitor.rs try! -> ? 2016-03-22 22:01:37 -05:00
free_region.rs Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
intrinsicck.rs Expose attached attributes to FnKind abstraction so that I can look at them in borrowck. 2016-03-21 18:36:22 +01:00
lang_items.rs Forbid creation of lang item from user code 2016-03-15 15:49:08 +01:00
liveness.rs try! -> ? 2016-03-22 22:01:37 -05:00
mem_categorization.rs try! -> ? 2016-03-22 22:01:37 -05:00
pat_util.rs Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
privacy.rs Remove LastPrivate 2016-02-26 00:37:27 +00:00
reachable.rs Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
recursion_limit.rs for x in xs.iter() -> for x in &xs 2015-02-02 13:40:18 -05:00
region.rs try! -> ? 2016-03-22 22:01:37 -05:00
resolve_lifetime.rs try! -> ? 2016-03-22 22:01:37 -05:00
stability.rs Rename middle::ty::ctxt to TyCtxt 2016-03-03 07:37:56 +00:00
subst.rs remove ErasedRegions from substitutions 2016-03-24 14:01:28 -04:00
weak_lang_items.rs Add E0264 error explanation 2015-12-07 15:56:36 +01:00