diff options
| author | Pietro Albini <pietro@pietroalbini.org> | 2018-08-01 21:46:22 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-01 21:46:22 +0200 |
| commit | 334da29e9841a2bc6fbea0991d6e984ec669a20f (patch) | |
| tree | 8c470e5ec72ec3a62c3894e9fac71e9bb6f6141e | |
| parent | 11f812aa7d1df09724f94c2b095f6dbfd367da17 (diff) | |
| parent | 8bbf0422d44ff54fff5760987d06250ebb5b60af (diff) | |
| download | rust-334da29e9841a2bc6fbea0991d6e984ec669a20f.tar.gz rust-334da29e9841a2bc6fbea0991d6e984ec669a20f.zip | |
Rollup merge of #52793 - davidtwco:issue-49824, r=pnkfelix
Add test for NLL: unexpected "free region `` does not outlive" error Fixes #49824. r? @pnkfelix @nikomatsakis
| -rw-r--r-- | src/test/ui/issue-49824.nll.stderr | 20 | ||||
| -rw-r--r-- | src/test/ui/issue-49824.rs | 26 | ||||
| -rw-r--r-- | src/test/ui/issue-49824.stderr | 14 |
3 files changed, 60 insertions, 0 deletions
diff --git a/src/test/ui/issue-49824.nll.stderr b/src/test/ui/issue-49824.nll.stderr new file mode 100644 index 00000000000..59345754e9f --- /dev/null +++ b/src/test/ui/issue-49824.nll.stderr @@ -0,0 +1,20 @@ +error: unsatisfied lifetime constraints + --> $DIR/issue-49824.rs:22:9 + | +LL | || { + | _____- + | |_____| + | || +LL | || || { + | ||_________^ +LL | ||| let _y = &mut x; +LL | ||| } + | |||_________^ requires that `'1` must outlive `'2` +LL | || }; + | || - + | ||_____| + | |______lifetime `'1` represents the closure body + | lifetime `'2` appears in return type + +error: aborting due to previous error + diff --git a/src/test/ui/issue-49824.rs b/src/test/ui/issue-49824.rs new file mode 100644 index 00000000000..1f3e5752884 --- /dev/null +++ b/src/test/ui/issue-49824.rs @@ -0,0 +1,26 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![feature(rustc_attrs)] + +// This test checks that a failure occurs with NLL but does not fail with the +// legacy AST output. Check issue-49824.nll.stderr for expected compilation error +// output under NLL and #49824 for more information. + +#[rustc_error] +fn main() { + //~^ compilation successful + let mut x = 0; + || { + || { + let _y = &mut x; + } + }; +} diff --git a/src/test/ui/issue-49824.stderr b/src/test/ui/issue-49824.stderr new file mode 100644 index 00000000000..b6cafe5e9e9 --- /dev/null +++ b/src/test/ui/issue-49824.stderr @@ -0,0 +1,14 @@ +error: compilation successful + --> $DIR/issue-49824.rs:18:1 + | +LL | / fn main() { +LL | | //~^ compilation successful +LL | | let mut x = 0; +LL | | || { +... | +LL | | }; +LL | | } + | |_^ + +error: aborting due to previous error + |
