about summary refs log tree commit diff
path: root/src/rustllvm/PassWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-03-22 06:56:16 +0000
committerbors <bors@rust-lang.org>2018-03-22 06:56:16 +0000
commite57577314120bb5504d5ce4b180fb6befc86f672 (patch)
tree389292e256ec07ce92d3bd4921312af4bc370f49 /src/rustllvm/PassWrapper.cpp
parenteb8d08d90415d82beedd42e8c6372568d8582acf (diff)
parent2e8a1abc2df44d8e71e52bf92b658438707564ea (diff)
downloadrust-e57577314120bb5504d5ce4b180fb6befc86f672.tar.gz
rust-e57577314120bb5504d5ce4b180fb6befc86f672.zip
Auto merge of #49041 - nikomatsakis:issue-46541-impl-trait-hidden-lifetimes, r=cramertj
Detect illegal hidden lifetimes in `impl Trait`

This branch fixes #46541 -- however, it presently doesn't build because it also *breaks* a number of existing usages of impl Trait. I'm opening it as a WIP for now, just because we want to move on impl Trait, but I'll try to fix the problem in a bit.

~~(The problem is due to the fact that we apparently infer stricter lifetimes in closures that we need to; for example, if you capture a variable of type `&'a &'b u32`, we will put *precisely* those lifetimes into the closure, even if the closure would be happy with `&'a &'a u32`. This causes the present chance to affect things that are not invariant.)~~ fixed

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