rust/src/librustc/middle
bors f9e53c7f2c Auto merge of #24553 - nikomatsakis:issue-22779-overconstrained-impl, r=pnkfelix
Rather than storing the relations between free-regions in a global
table, introduce a `FreeRegionMap` data structure. regionck computes the
`FreeRegionMap` for each fn and stores the result into the tcx so that
borrowck can use it (this could perhaps be refactored to have borrowck
recompute the map, but it's a bid tedious to recompute due to the
interaction of closures and free fns). The main reason to do this is
because of #22779 -- using a global table was incorrect because when
validating impl method signatures, we want to use the free region
relationships from the *trait*, not the impl.

Fixes #22779.
2015-04-24 21:07:41 +00:00
..
cfg Port to using the newer graph, which offers iterators instead of the 2015-04-17 10:12:55 -04:00
infer Rather than storing the relations between free-regions in a global 2015-04-18 11:35:51 -04:00
traits Auto merge of #24553 - nikomatsakis:issue-22779-overconstrained-impl, r=pnkfelix 2015-04-24 21:07:41 +00:00
ty_relate Negative case of len() -> is_empty() 2015-04-14 20:26:03 -07:00
astconv_util.rs Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
astencode.rs std: Remove deprecated/unstable num functionality 2015-04-21 11:37:43 -07:00
check_const.rs Modify the ExprUseVisitor to walk each part of an AutoRef, and in 2015-04-08 09:49:41 -04:00
check_loop.rs Fallout out rustc 2015-04-01 11:22:39 -04:00
check_match.rs Positive case of len() -> is_empty() 2015-04-14 20:26:03 -07:00
check_rvalues.rs core: split into fmt::Show and fmt::String 2015-01-06 14:49:42 -08:00
check_static_recursion.rs Implement <T>::method UFCS expression syntax. 2015-02-24 14:16:02 +02:00
const_eval.rs std: Remove deprecated/unstable num functionality 2015-04-21 11:37:43 -07:00
dataflow.rs Port to using the newer graph, which offers iterators instead of the 2015-04-17 10:12:55 -04:00
dead.rs Negative case of len() -> is_empty() 2015-04-14 20:26:03 -07:00
def.rs Check uses of Self in impls in the compiler rather than during expansion 2015-04-03 22:47:53 +13:00
dependency_format.rs Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
effect.rs Expose visibility for fns in syntax::visit 2015-04-14 09:54:58 +12:00
entry.rs Revert #22051 2015-02-11 19:28:02 +02:00
expr_use_visitor.rs Reviewer comments 2015-04-14 22:17:08 +12:00
fast_reject.rs Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
free_region.rs Rather than storing the relations between free-regions in a global 2015-04-18 11:35:51 -04:00
implicator.rs Rather than storing the relations between free-regions in a global 2015-04-18 11:35:51 -04:00
intrinsicck.rs Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
lang_items.rs std: Remove deprecated/unstable num functionality 2015-04-21 11:37:43 -07:00
liveness.rs Negative case of len() -> is_empty() 2015-04-14 20:26:03 -07:00
mem_categorization.rs eddyb's refactoring of coercions/adjustments 2015-04-14 21:55:42 +12:00
pat_util.rs cleanup: Remove unused braces in use statements 2015-03-28 02:23:20 -07:00
privacy.rs Fallout out rustc 2015-04-01 11:22:39 -04:00
reachable.rs Fallout in stdlib, rustdoc, rustc, etc. For most maps, converted uses of 2015-03-23 16:55:45 -04:00
recursion_limit.rs for x in xs.iter() -> for x in &xs 2015-02-02 13:40:18 -05:00
region.rs Rather than storing the relations between free-regions in a global 2015-04-18 11:35:51 -04:00
resolve_lifetime.rs Check for shadowing between lifetimes and loop labels in function bodies. 2015-04-21 18:09:41 +02:00
stability.rs Make stability attributes an error. #22830 2015-04-20 17:33:31 -07:00
subst.rs Create a struct to represent early-bound regions 2015-04-17 10:05:32 -04:00
ty.rs Auto merge of #24553 - nikomatsakis:issue-22779-overconstrained-impl, r=pnkfelix 2015-04-24 21:07:41 +00:00
ty_fold.rs eddyb's refactoring of coercions/adjustments 2015-04-14 21:55:42 +12:00
ty_match.rs Add a "match" relation that can be used to make recursion check during 2015-03-31 09:51:35 -04:00
ty_walk.rs Implement the changes to coherence such that we consider a type to be 2015-04-01 11:21:40 -04:00
weak_lang_items.rs Replace all uses of &foo[] with &foo[..] en masse. 2015-02-18 17:36:03 -05:00