]> git.lizzy.rs Git - rust.git/commit
modify leak-check to track only outgoing edges from placeholders
authorNiko Matsakis <niko@alum.mit.edu>
Mon, 18 May 2020 09:43:36 +0000 (09:43 +0000)
committerNiko Matsakis <niko@alum.mit.edu>
Mon, 22 Jun 2020 14:05:00 +0000 (14:05 +0000)
commitbcc0a9c8eba0c4eaaafb7983b1b367a926ca8948
tree98cd4d5a3ed85a1f4f036fb26788d172b3409e31
parent1a4e2b6f9c75a0e21722c88a0e3b610d6ffc3ae3
modify leak-check to track only outgoing edges from placeholders

Also, update the affected tests. This seems strictly better but it is
actually more permissive than I initially intended. In particular it
accepts this

```
forall<'a, 'b> {
  exists<'intersection> {
    'a: 'intersection,
    'b: 'intersection,
  }
}
```

and I'm not sure I want to accept that. It implies that we have a
`'empty` in the new universe intoduced by the `forall`.
30 files changed:
src/librustc_infer/infer/region_constraints/leak_check.rs
src/test/ui/closure-expected-type/expect-fn-supply-fn.rs
src/test/ui/closure-expected-type/expect-fn-supply-fn.stderr
src/test/ui/hr-subtype/hr-subtype.bound_a_b_vs_bound_a.stderr
src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_a.stderr
src/test/ui/hr-subtype/hr-subtype.bound_a_vs_bound_b.stderr
src/test/ui/hr-subtype/hr-subtype.bound_a_vs_free_x.stderr
src/test/ui/hr-subtype/hr-subtype.bound_co_a_b_vs_bound_co_a.stderr
src/test/ui/hr-subtype/hr-subtype.bound_co_a_co_b_ret_contra_a.stderr
src/test/ui/hr-subtype/hr-subtype.bound_co_a_vs_bound_co_b.stderr
src/test/ui/hr-subtype/hr-subtype.bound_contra_a_contra_b_ret_co_a.stderr
src/test/ui/hr-subtype/hr-subtype.bound_inv_a_vs_bound_inv_b.stderr
src/test/ui/hr-subtype/hr-subtype.free_x_vs_free_x.stderr
src/test/ui/hr-subtype/hr-subtype.rs
src/test/ui/hrtb/hrtb-exists-forall-fn.stderr
src/test/ui/hrtb/hrtb-exists-forall-trait-contravariant.rs
src/test/ui/hrtb/hrtb-exists-forall-trait-contravariant.stderr
src/test/ui/hrtb/hrtb-higher-ranker-supertraits-transitive.stderr
src/test/ui/hrtb/hrtb-just-for-static.stderr
src/test/ui/hrtb/issue-46989.rs
src/test/ui/hrtb/issue-46989.stderr
src/test/ui/issues/issue-57362-1.rs
src/test/ui/issues/issue-57362-1.stderr
src/test/ui/issues/issue-57362-2.rs
src/test/ui/issues/issue-57362-2.stderr
src/test/ui/lub-glb/old-lub-glb-hr.rs
src/test/ui/lub-glb/old-lub-glb-hr.stderr
src/test/ui/regions-fn-subtyping-return-static-fail.stderr
src/test/ui/where-clauses/where-for-self-2.rs
src/test/ui/where-clauses/where-for-self-2.stderr