about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2020-12-18 00:30:09 +0100
committerGitHub <noreply@github.com>2020-12-18 00:30:09 +0100
commit720b6941dff18896bcab36bec8e905fdb462d7d8 (patch)
treedd0594d4920da38c652ae983389074d17947dc3c /compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp
parenteb4fc71dc9024f15a0c9cc44bcc10c861e9d585e (diff)
parent419d3ae02849d47899f8fc221d37b05ac24f4efd (diff)
downloadrust-720b6941dff18896bcab36bec8e905fdb462d7d8.tar.gz
rust-720b6941dff18896bcab36bec8e905fdb462d7d8.zip
Rollup merge of #78164 - Aaron1011:fix/async-region-name, r=tmandry
Prefer regions with an `external_name` in `approx_universal_upper_bound`

Fixes #75785

When displaying a MIR borrowcheck error, we may need to find an upper
bound for a region, which gives us a region to point to in the error
message. However, a region might outlive multiple distinct universal
regions, in which case the only upper bound is 'static

To try to display a meaningful error message, we compute an
'approximate' upper bound by picking one of the universal regions.
Currently, we pick the region with the lowest index - however, this
caused us to produce a suboptimal error message in issue #75785

This PR `approx_universal_upper_bound` to prefer regions with an
`external_name`. This causes us to prefer regions from function
arguments/upvars, which seems to lead to a nicer error message in some
cases.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/CoverageMappingWrapper.cpp')
0 files changed, 0 insertions, 0 deletions