about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-09-26 18:16:55 +0000
committerbors <bors@rust-lang.org>2018-09-26 18:16:55 +0000
commitc7df1f530b8a88f471e60e933868e7ddf456974d (patch)
tree22288860be8301603259bc04dd40ca13cf77b1f2 /src/rustllvm/RustWrapper.cpp
parent6846f22a13c7c896e86714736d597128fdfea94d (diff)
parentf23fd4bc029fccbcb3e56507cac8cde90a81128c (diff)
downloadrust-c7df1f530b8a88f471e60e933868e7ddf456974d.tar.gz
rust-c7df1f530b8a88f471e60e933868e7ddf456974d.zip
Auto merge of #54453 - nikomatsakis:nll-issue-53121-shred-outlives, r=pnkfelix
rework how we handle outlives relationships

When we encounter an outlives relationship involving a projection, we use to over-constrain in some cases with region constraints. We also used to evaluate whether the where-clauses in the environment might apply **before** running inference.

We now avoid doing both of those things:

- If there are where-clauses in the environment that might be useful, we add no constraints.
- After inference is done, we check if we wound up inferring values compatible with the where-clause, and make use of them if so.

I realize now that this PR includes some meandering commits and refactorings from when I expected to go in a different direction. If desired, I could try to remove some of those.

Fixes #53121
Fixes #53789

r? @pnkfelix
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions