about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2016-09-15 18:16:22 +0530
committerGitHub <noreply@github.com>2016-09-15 18:16:22 +0530
commit0c9dc539df56e31d1e2653c64565baec12b473c2 (patch)
tree83f13e5e9d5843a3dcbafbbc8c6827c7fcd649ec /src/rustllvm/RustWrapper.cpp
parent959f764f8b320299e3e1cf8d542346d681b85175 (diff)
parent6353e30bb2d7968332217c04ac25e0800500fb33 (diff)
downloadrust-0c9dc539df56e31d1e2653c64565baec12b473c2.tar.gz
rust-0c9dc539df56e31d1e2653c64565baec12b473c2.zip
Rollup merge of #36461 - nikomatsakis:issue-36053, r=arielb1
clear obligations-added flag with nested fulfillcx

This flag is a debugging measure designed to detect cases where we start
a snapshot, create type variables, register obligations involving those
type variables in the fulfillment cx, and then have to unroll the
snapshot, leaving "dangling type variables" behind.  HOWEVER, in some
cases the flag is wrong. In particular, we sometimes create a
"mini-fulfilment-cx" in which we enroll obligations. As long as this
fulfillment cx is fully drained before we return, this is not a problem,
as there won't be any escaping obligations in the main cx. So we add a
fn to save/restore the flag.

Fixes #36053.

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