diff --git a/tests/ui/box/unit/basic-operations.rs b/tests/ui/box/unit/basic-operations.rs new file mode 100644 index 000000000000..516cffb0c6f4 --- /dev/null +++ b/tests/ui/box/unit/basic-operations.rs @@ -0,0 +1,72 @@ +//! A collection of very old tests of basic `Box` functionality. +//@ run-pass + +fn deref_mut() { + let mut i: Box<_> = Box::new(0); + *i = 1; + assert_eq!(*i, 1); +} + +// Tests for if as expressions returning boxed types +fn box_if() { + let rs: Box<_> = if true { Box::new(100) } else { Box::new(101) }; + assert_eq!(*rs, 100); +} + +fn cmp() { + let i: Box<_> = Box::new(100); + assert_eq!(i, Box::new(100)); + assert!(i < Box::new(101)); + assert!(i <= Box::new(100)); + assert!(i > Box::new(99)); + assert!(i >= Box::new(99)); +} + +fn autoderef_field() { + struct J { + j: isize, + } + + let i: Box<_> = Box::new(J { j: 100 }); + assert_eq!(i.j, 100); +} + +fn assign_copy() { + let mut i: Box<_> = Box::new(1); + // Should be a copy + let mut j; + j = i.clone(); + *i = 2; + *j = 3; + assert_eq!(*i, 2); + assert_eq!(*j, 3); +} + +fn arg_mut() { + fn f(i: &mut Box) { + *i = Box::new(200); + } + let mut i = Box::new(100); + f(&mut i); + assert_eq!(*i, 200); +} + +fn assign_generic() { + fn f(t: T) -> T { + let t1 = t; + t1 + } + + let t = f::>(Box::new(100)); + assert_eq!(t, Box::new(100)); +} + +pub fn main() { + deref_mut(); + box_if(); + cmp(); + autoderef_field(); + assign_copy(); + arg_mut(); + assign_generic(); +} diff --git a/tests/ui/box/unit/expr-if-unique.rs b/tests/ui/box/unit/expr-if-unique.rs deleted file mode 100644 index 344c9dc4f6ae..000000000000 --- a/tests/ui/box/unit/expr-if-unique.rs +++ /dev/null @@ -1,9 +0,0 @@ -//@ run-pass - -// Tests for if as expressions returning boxed types -fn test_box() { - let rs: Box<_> = if true { Box::new(100) } else { Box::new(101) }; - assert_eq!(*rs, 100); -} - -pub fn main() { test_box(); } diff --git a/tests/ui/box/unit/unique-assign-copy.rs b/tests/ui/box/unit/unique-assign-copy.rs deleted file mode 100644 index f62984cca660..000000000000 --- a/tests/ui/box/unit/unique-assign-copy.rs +++ /dev/null @@ -1,12 +0,0 @@ -//@ run-pass - -pub fn main() { - let mut i: Box<_> = Box::new(1); - // Should be a copy - let mut j; - j = i.clone(); - *i = 2; - *j = 3; - assert_eq!(*i, 2); - assert_eq!(*j, 3); -} diff --git a/tests/ui/box/unit/unique-assign-drop.rs b/tests/ui/box/unit/unique-assign-drop.rs deleted file mode 100644 index 3d37344ae961..000000000000 --- a/tests/ui/box/unit/unique-assign-drop.rs +++ /dev/null @@ -1,10 +0,0 @@ -//@ run-pass -#![allow(unused_assignments)] - -pub fn main() { - let i: Box<_> = Box::new(1); - let mut j: Box<_> = Box::new(2); - // Should drop the previous value of j - j = i; - assert_eq!(*j, 1); -} diff --git a/tests/ui/box/unit/unique-assign-generic.rs b/tests/ui/box/unit/unique-assign-generic.rs deleted file mode 100644 index 9dc7fb8dcead..000000000000 --- a/tests/ui/box/unit/unique-assign-generic.rs +++ /dev/null @@ -1,11 +0,0 @@ -//@ run-pass - -fn f(t: T) -> T { - let t1 = t; - t1 -} - -pub fn main() { - let t = f::>(Box::new(100)); - assert_eq!(t, Box::new(100)); -} diff --git a/tests/ui/box/unit/unique-autoderef-field.rs b/tests/ui/box/unit/unique-autoderef-field.rs deleted file mode 100644 index f751801d8dfd..000000000000 --- a/tests/ui/box/unit/unique-autoderef-field.rs +++ /dev/null @@ -1,10 +0,0 @@ -//@ run-pass - -struct J { j: isize } - -pub fn main() { - let i: Box<_> = Box::new(J { - j: 100 - }); - assert_eq!(i.j, 100); -} diff --git a/tests/ui/box/unit/unique-cmp.rs b/tests/ui/box/unit/unique-cmp.rs deleted file mode 100644 index 1bf3ec0bef40..000000000000 --- a/tests/ui/box/unit/unique-cmp.rs +++ /dev/null @@ -1,11 +0,0 @@ -//@ run-pass -#![allow(unused_allocation)] - -pub fn main() { - let i: Box<_> = Box::new(100); - assert_eq!(i, Box::new(100)); - assert!(i < Box::new(101)); - assert!(i <= Box::new(100)); - assert!(i > Box::new(99)); - assert!(i >= Box::new(99)); -} diff --git a/tests/ui/box/unit/unique-decl-init-copy.rs b/tests/ui/box/unit/unique-decl-init-copy.rs deleted file mode 100644 index abb1113ebdc2..000000000000 --- a/tests/ui/box/unit/unique-decl-init-copy.rs +++ /dev/null @@ -1,11 +0,0 @@ -//@ run-pass - -pub fn main() { - let mut i: Box<_> = Box::new(1); - // Should be a copy - let mut j = i.clone(); - *i = 2; - *j = 3; - assert_eq!(*i, 2); - assert_eq!(*j, 3); -} diff --git a/tests/ui/box/unit/unique-fn-arg-mut.rs b/tests/ui/box/unit/unique-fn-arg-mut.rs deleted file mode 100644 index 08d1055c6130..000000000000 --- a/tests/ui/box/unit/unique-fn-arg-mut.rs +++ /dev/null @@ -1,11 +0,0 @@ -//@ run-pass - -fn f(i: &mut Box) { - *i = Box::new(200); -} - -pub fn main() { - let mut i = Box::new(100); - f(&mut i); - assert_eq!(*i, 200); -} diff --git a/tests/ui/box/unit/unique-move-drop.rs b/tests/ui/box/unit/unique-move-drop.rs deleted file mode 100644 index 1dff5f0bc87a..000000000000 --- a/tests/ui/box/unit/unique-move-drop.rs +++ /dev/null @@ -1,10 +0,0 @@ -//@ run-pass - -#![allow(unused_variables)] - -pub fn main() { - let i: Box<_> = Box::new(100); - let j: Box<_> = Box::new(200); - let j = i; - assert_eq!(*j, 100); -} diff --git a/tests/ui/box/unit/unique-mutable.rs b/tests/ui/box/unit/unique-mutable.rs deleted file mode 100644 index 284b419f5a1d..000000000000 --- a/tests/ui/box/unit/unique-mutable.rs +++ /dev/null @@ -1,7 +0,0 @@ -//@ run-pass - -pub fn main() { - let mut i: Box<_> = Box::new(0); - *i = 1; - assert_eq!(*i, 1); -}