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 or the MIT license +// , 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 +