rust/src/test
Mazdak Farrokhzad c22566d96d
Rollup merge of #59132 - nikomatsakis:issue-53548-generator-bound, r=pnkfelix
ignore higher-ranked object bound conditions created by WF

In the `issue-53548` test added in this PR, the `Box<dyn Trait>` type is expanded to `Box<dyn Trait + 'static>`, but the generator "witness" that results is `for<'r> { Box<dyn Trait + 'r> }`. The WF code was encountering an ICE (when debug-assertions were enabled) and an unexpected compilation error (without debug-asserions) when trying to process this `'r` region bound. In particular, to be WF, the region bound must meet the requirements of the trait, and hence we got `for<'r> { 'r: 'static }`. This would ICE because the `Binder` constructor we were using was assering that no higher-ranked regions were involved (because the WF code is supposed to skip those). The error (if debug-asserions were disabled) came because we obviously cannot prove that `'r: 'static` for any region `'r`.  Pursuant with
our "lazy WF" strategy for higher-ranked regions, the fix is not to require that `for<'r> { 'r: 'static }` holds (this is also analogous to what we would do for higher-ranked regions appearing within the trait in other positions).

Fixes #53548

r? @pnkfelix
2019-03-13 03:33:56 +01:00
..
auxiliary Remove licenses 2018-12-25 21:08:33 -07:00
codegen Fix segfaults in release build C-variadic fns 2019-03-07 16:31:01 +00:00
codegen-units Remove licenses 2018-12-25 21:08:33 -07:00
compile-fail Apply review suggestions and fix tests 2019-02-03 13:46:53 -08:00
compile-fail-fulldeps/auxiliary Fix lints in tests 2019-01-19 08:10:01 +01:00
debuginfo Rollup merge of #58629 - euclio:debug-empty-str, r=alexcrichton 2019-03-09 17:18:14 +01:00
incremental Regression test for #58813 2019-03-06 12:36:47 +01:00
mir-opt HirIdification: replace NodeId method calls 2019-03-07 09:22:43 +01:00
pretty Nit 2019-03-03 02:58:09 +00:00
run-fail Remove licenses 2018-12-25 21:08:33 -07:00
run-make Rollup merge of #58272 - fitzgen:num-format-code-size, r=Mark-Simulacrum 2019-02-13 18:12:31 +01:00
run-make-fulldeps Make the rustc driver and interface demand driven 2019-03-10 04:49:45 +01:00
run-pass Rollup merge of #58750 - TimDiekmann:master, r=oli-obk 2019-03-09 17:18:21 +01:00
run-pass-fulldeps Make the rustc driver and interface demand driven 2019-03-10 04:49:45 +01:00
run-pass-valgrind Remove licenses 2018-12-25 21:08:33 -07:00
rustdoc Support defining C compatible variadic functions 2019-02-27 10:21:35 -05:00
rustdoc-js Move rustdoc-js testing into compiletest 2019-02-28 18:08:48 +01:00
rustdoc-js-std Rename rustdoc js test suites 2019-02-25 17:46:06 +01:00
rustdoc-ui Update tests 2019-03-11 23:10:26 +03:00
rustfix tests: Do not use -Z parse-only, continue compilation to test recovery 2019-01-06 22:20:46 +03:00
ui Rollup merge of #59132 - nikomatsakis:issue-53548-generator-bound, r=pnkfelix 2019-03-13 03:33:56 +01:00
ui-fulldeps Update tests 2019-03-11 23:10:26 +03:00
COMPILER_TESTS.md