about summary refs log tree commit diff
path: root/src/rustllvm/PassWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-06-17 11:22:08 +0000
committerbors <bors@rust-lang.org>2017-06-17 11:22:08 +0000
commitdfb8c80e118a6844e3a7130a884e92dde4ef4694 (patch)
tree01d90b5b421e2e033c9be17dbae129a3b2322dd1 /src/rustllvm/PassWrapper.cpp
parentff9f2d2ae94fd951229c33ae55076fce4f68fab0 (diff)
parent9fec4093df1b31a3d63100922136e7bfb53c0d26 (diff)
downloadrust-dfb8c80e118a6844e3a7130a884e92dde4ef4694.tar.gz
rust-dfb8c80e118a6844e3a7130a884e92dde4ef4694.zip
Auto merge of #42659 - nikomatsakis:issue-42545-type-inference-regression, r=eddyb
Issue 42545 type inference regression

Fix an ICE that results from type inference obligations being dropped on the floor. Specifically, when computing the implied bounds, we would sometimes do normalizations that get stored in the cache, but we would *not* try to solve the resulting obligations. This can sometimes leave type variables uninferred. Occurs only rarely because implied bounds are processed in regionck which happens very late, so usually the cache is populated already from somewhere else.

I think that the *proper* fix here is probably lazy normalization. This fix is intentionally very narrow both because this code is on the chopping block and because this needs a beta backport.

r? @eddyb
cc @arielb1
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions