From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- tests/ui/moves/move-3-unique.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 tests/ui/moves/move-3-unique.rs (limited to 'tests/ui/moves/move-3-unique.rs') diff --git a/tests/ui/moves/move-3-unique.rs b/tests/ui/moves/move-3-unique.rs new file mode 100644 index 000000000..8e5df2c3f --- /dev/null +++ b/tests/ui/moves/move-3-unique.rs @@ -0,0 +1,25 @@ +// run-pass +#![allow(unused_mut)] +#![allow(dead_code)] + +#[derive(Clone)] +struct Triple { + x: isize, + y: isize, + z: isize, +} + +fn test(x: bool, foo: Box) -> isize { + let bar = foo; + let mut y: Box; + if x { y = bar; } else { y = Box::new(Triple {x: 4, y: 5, z: 6}); } + return y.y; +} + +pub fn main() { + let x: Box<_> = Box::new(Triple{x: 1, y: 2, z: 3}); + for _ in 0_usize..10000_usize { + assert_eq!(test(true, x.clone()), 2); + } + assert_eq!(test(false, x), 5); +} -- cgit v1.2.3