]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #48296 - ishitatsuyuki:exp-unblow, r=nikomatsakis
authorManish Goregaokar <manishsmail@gmail.com>
Sat, 24 Feb 2018 23:52:07 +0000 (15:52 -0800)
committerGitHub <noreply@github.com>
Sat, 24 Feb 2018 23:52:07 +0000 (15:52 -0800)
Fix exponential projection complexity on nested types

This implements solution 1 from https://github.com/rust-lang/rust/issues/38528#issuecomment-366263076.

The code quality is currently extremely poor, but we can improve them during review.

Blocking issues:

- we probably don't want a quadratic deduplication for obligations.
- is there an alternative to deduplication?

Based on #48315.

Needs changelog. Noticable improvement on compile time is expected.

Fix #38528
Close #39684
Close #43757

1  2 
src/librustc/traits/mod.rs
src/librustc/traits/project.rs
src/librustc/traits/select.rs

Simple merge
Simple merge
Simple merge