diff options
| author | bors <bors@rust-lang.org> | 2017-12-20 03:58:15 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-12-20 03:58:15 +0000 |
| commit | 588f7db8ef588ea7e349817bb44b4e37bfd92745 (patch) | |
| tree | 8f533a5308ce9b27e5cbc37d2db8632f786e433a /src/test/compile-fail | |
| parent | edbd7d232ee1272285be332b8a38eb47b4c8f5c6 (diff) | |
| parent | 1816ede386c6dd6e61f50e7b0f9bdba19adc0e24 (diff) | |
| download | rust-588f7db8ef588ea7e349817bb44b4e37bfd92745.tar.gz rust-588f7db8ef588ea7e349817bb44b4e37bfd92745.zip | |
Auto merge of #46733 - nikomatsakis:nll-master-to-rust-master-5, r=arielb1
nll part 5 Next round of changes from the nll-master branch. Extensions: - we now propagate ty-region-outlives constraints out of closures and into their creator when necessary - we fix a few ICEs that can occur by doing liveness analysis (and the resulting normalization) during type-checking - we handle the implicit region bound that assumes that each type `T` outlives the fn body - we handle normalization of inputs/outputs in fn signatures Not included in this PR (will come next): - handling `impl Trait` - tracking causal information - extended errors r? @arielb1
Diffstat (limited to 'src/test/compile-fail')
| -rw-r--r-- | src/test/compile-fail/mir_check_cast_closure.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/mir_check_cast_reify.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/mir_check_cast_unsafe_fn.rs | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/test/compile-fail/mir_check_cast_closure.rs b/src/test/compile-fail/mir_check_cast_closure.rs index be0d4b13741..6562efeb6d8 100644 --- a/src/test/compile-fail/mir_check_cast_closure.rs +++ b/src/test/compile-fail/mir_check_cast_closure.rs @@ -14,9 +14,9 @@ fn bar<'a, 'b>() -> fn(&'a u32, &'b u32) -> &'a u32 { let g: fn(_, _) -> _ = |_x, y| y; + //~^ ERROR free region `'b` does not outlive free region `'a` g //~^ WARNING not reporting region error due to -Znll - //~| ERROR free region `'b` does not outlive free region `'a` } fn main() {} diff --git a/src/test/compile-fail/mir_check_cast_reify.rs b/src/test/compile-fail/mir_check_cast_reify.rs index 091e0b71b2d..1736aea2d6d 100644 --- a/src/test/compile-fail/mir_check_cast_reify.rs +++ b/src/test/compile-fail/mir_check_cast_reify.rs @@ -45,8 +45,8 @@ fn bar<'a>(x: &'a u32) -> &'static u32 { // as part of checking the `ReifyFnPointer`. let f: fn(_) -> _ = foo; //~^ WARNING not reporting region error due to -Znll + //~| ERROR free region `'_#1r` does not outlive free region `'static` f(x) - //~^ ERROR free region `'_#1r` does not outlive free region `'static` } fn main() {} diff --git a/src/test/compile-fail/mir_check_cast_unsafe_fn.rs b/src/test/compile-fail/mir_check_cast_unsafe_fn.rs index 701a7c6b056..39eafa10040 100644 --- a/src/test/compile-fail/mir_check_cast_unsafe_fn.rs +++ b/src/test/compile-fail/mir_check_cast_unsafe_fn.rs @@ -17,8 +17,8 @@ fn bar<'a>(input: &'a u32, f: fn(&'a u32) -> &'a u32) -> &'static u32 { // in `g`. These are related via the `UnsafeFnPointer` cast. let g: unsafe fn(_) -> _ = f; //~^ WARNING not reporting region error due to -Znll + //~| ERROR free region `'_#1r` does not outlive free region `'static` unsafe { g(input) } - //~^ ERROR free region `'_#1r` does not outlive free region `'static` } fn main() {} |
