diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/borrowck/borrowck-escaping-closure-error-1.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/ui/borrowck/borrowck-escaping-closure-error-1.rs b/src/test/ui/borrowck/borrowck-escaping-closure-error-1.rs new file mode 100644 index 000000000..11c0610aa --- /dev/null +++ b/src/test/ui/borrowck/borrowck-escaping-closure-error-1.rs @@ -0,0 +1,15 @@ +use std::thread::spawn; + +// Test that we give a custom error (E0373) for the case where a +// closure is escaping current frame, and offer a suggested code edit. +// I refrained from including the precise message here, but the +// original text as of the time of this writing is: +// +// closure may outlive the current function, but it borrows `books`, +// which is owned by the current function + +fn main() { + let mut books = vec![1,2,3]; + spawn(|| books.push(4)); + //~^ ERROR E0373 +} |