rust/src/librustc/middle/traits
Niko Matsakis ff361530b5 Partial fix for #17901: Be less conservative around unbound type
variables in the intracrate case. This requires a deeper distinction
between inter- and intra-crate so as to keep coherence working.

I suspect the best fix is to generalize the recursion check that
exists today, but this requires a bit more refactoring to achieve.

(In other words, where today it says OK for an exact match, we'd want
to not detect exact matches but rather skolemize each trait-reference
fresh and return AMBIG -- but that requires us to make builtin bounds
work shallowly like everything else and move the cycle detection into
the fulfillment context.)
2014-11-05 22:01:30 -05:00
..
coherence.rs Partial fix for #17901: Be less conservative around unbound type 2014-11-05 22:01:30 -05:00
doc.rs Use type-safe wrapper for TypeFlags 2014-10-24 10:20:02 -04:00
fulfill.rs Avoid O(n^2) performance by reconsidering the full set of obligations only when we are about to report an error (#18208). I found it is still important to consider the full set in order to make tests like let x: Vec<_> = obligations.iter().collect() work. 2014-10-28 08:18:21 -04:00
mod.rs Implement "method matching". Similar to trait matching, but with the twist that we 2014-10-21 11:49:38 -04:00
select.rs Partial fix for #17901: Be less conservative around unbound type 2014-11-05 22:01:30 -05:00
util.rs