diff options
Diffstat (limited to 'tests/ui/liveness/liveness-use-after-send.rs')
-rw-r--r-- | tests/ui/liveness/liveness-use-after-send.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/liveness/liveness-use-after-send.rs b/tests/ui/liveness/liveness-use-after-send.rs new file mode 100644 index 000000000..6fcd91a9d --- /dev/null +++ b/tests/ui/liveness/liveness-use-after-send.rs @@ -0,0 +1,19 @@ +use std::marker; + +fn send<T:Send + std::fmt::Debug>(ch: Chan<T>, data: T) { + println!("{:?}", ch); + println!("{:?}", data); + panic!(); +} + +#[derive(Debug)] +struct Chan<T>(isize, marker::PhantomData<T>); + +// Tests that "log(debug, message);" is flagged as using +// message after the send deinitializes it +fn test00_start(ch: Chan<Box<isize>>, message: Box<isize>, _count: Box<isize>) { + send(ch, message); + println!("{}", message); //~ ERROR borrow of moved value: `message` +} + +fn main() { panic!(); } |