about summary refs log tree commit diff
path: root/src/test/incremental/thinlto
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-07-30 05:37:37 +0200
committerGitHub <noreply@github.com>2019-07-30 05:37:37 +0200
commitf3750e34b460d0a1afd3c0c2531ba6854073585b (patch)
tree761bd3f9019326de4ea054986c0a570a956f5f3e /src/test/incremental/thinlto
parent44130681eba7330789f4e0c941e57118ee976d07 (diff)
parent3e98c3acf5c598ae577428fa8fbf1c29e270739b (diff)
downloadrust-f3750e34b460d0a1afd3c0c2531ba6854073585b.tar.gz
rust-f3750e34b460d0a1afd3c0c2531ba6854073585b.zip
Rollup merge of #63093 - Aaron1011:fix/existential-closure, r=cramertj
Properly check the defining scope of existential types

Fixes #52632

Existential types (soon to be 'impl trait' aliases) can either be
delcared at a top-level crate/module scope, or within another item such
as an fn. Previously, we were handling the second case incorrectly when
recursively searching for defining usages - we would check children of
the item, but not the item itself. This lead to us missing closures
that consituted a defining use of the existential type, as their opaque
type instantiations are stored in the TypeckTables of their parent
function.

This commit ensures that we explicitly visit the defining item itself,
not just its children.
Diffstat (limited to 'src/test/incremental/thinlto')
0 files changed, 0 insertions, 0 deletions