rust/src/librustc/middle
bors 2a7a39191a auto merge of #14086 : Ryman/rust/resolve_error_suggestions, r=alexcrichton
Provides better help for the resolve failures inside an `impl` if the name matches:
- a field on the self type
- a method on the self type
- a method on the current trait ref (in a trait impl)

Not handling trait method suggestions if in a regular `impl` (as you can see on line 69 of the test), I believe it is possible though.

Also, provides a better message when `self` fails to resolve due to being a static method.

It's using some unsafe pointers to skip copying the larger structures (which are only used in error conditions); it's likely possible to get it working with lifetimes (all the useful refs should outlive the visitor calls) but I haven't really figured that out for this case. (can switch to copying code if wanted)

Closes #2356.
2014-05-14 12:06:29 -07:00
..
borrowck Removed unnecessary arguments for walk_* functions 2014-05-14 02:20:25 -04:00
cfg
trans librustc: Make sure to add argument attributes to extern fns from non-local crates. 2014-05-14 02:18:42 -04:00
typeck Allow blocks in const expressions 2014-05-13 17:24:07 -07:00
astencode.rs librustc: Remove all uses of ~str from librustc. 2014-05-12 11:28:57 -07:00
check_const.rs Allow blocks in const expressions 2014-05-13 17:24:07 -07:00
check_loop.rs
check_match.rs Removed unnecessary arguments for walk_* functions 2014-05-14 02:20:25 -04:00
check_static.rs librustc: Remove all uses of ~str from librustc. 2014-05-12 11:28:57 -07:00
const_eval.rs Allow blocks in const expressions 2014-05-13 17:24:07 -07:00
dataflow.rs librustc: Remove all uses of ~str from librustc. 2014-05-12 11:28:57 -07:00
dead.rs librustc: Remove all uses of ~str from librustc. 2014-05-12 11:28:57 -07:00
dependency_format.rs Reorganise driver code. 2014-05-11 11:08:01 +12:00
effect.rs Removed unnecessary arguments for walk_* functions 2014-05-14 02:20:25 -04:00
entry.rs Reorganise driver code. 2014-05-11 11:08:01 +12:00
expr_use_visitor.rs Address nits from @pnkfelix 2014-04-30 20:22:36 -04:00
freevars.rs Removed unnecessary arguments for walk_* functions 2014-05-14 02:20:25 -04:00
graph.rs
kind.rs Removed unnecessary arguments for walk_* functions 2014-05-14 02:20:25 -04:00
lang_items.rs librustc: Remove all uses of ~str from librustc. 2014-05-12 11:28:57 -07:00
lint.rs Removed unnecessary arguments for walk_* functions 2014-05-14 02:20:25 -04:00
liveness.rs Removed unnecessary arguments for walk_* functions 2014-05-14 02:20:25 -04:00
mem_categorization.rs librustc: Remove all uses of ~str from librustc. 2014-05-12 11:28:57 -07:00
pat_util.rs
privacy.rs Removed unnecessary arguments for walk_* functions 2014-05-14 02:20:25 -04:00
reachable.rs Reorganise driver code. 2014-05-11 11:08:01 +12:00
region.rs librustc: Remove ~EXPR, ~TYPE, and ~PAT from the language, except 2014-05-06 23:12:54 -07:00
resolve_lifetime.rs Removed unnecessary arguments for walk_* functions 2014-05-14 02:20:25 -04:00
resolve.rs rustc: Improve error messages for resolve failures. 2014-05-14 19:18:18 +01:00
subst.rs Factor out foldable better to reduce code duplication. There is now a "double 2014-05-12 17:46:26 -04:00
ty_fold.rs Factor out foldable better to reduce code duplication. There is now a "double 2014-05-12 17:46:26 -04:00
ty.rs auto merge of #14158 : nikomatsakis/rust/issue-5527-refactor-foldable, r=pcwalton 2014-05-13 08:57:33 -07:00