diff options
Diffstat (limited to 'src/test/ui/stdlib-unit-tests/builtin-clone.rs')
-rw-r--r-- | src/test/ui/stdlib-unit-tests/builtin-clone.rs | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/test/ui/stdlib-unit-tests/builtin-clone.rs b/src/test/ui/stdlib-unit-tests/builtin-clone.rs deleted file mode 100644 index 0874d5bc3..000000000 --- a/src/test/ui/stdlib-unit-tests/builtin-clone.rs +++ /dev/null @@ -1,45 +0,0 @@ -// run-pass -// Test that `Clone` is correctly implemented for builtin types. -// Also test that cloning an array or a tuple is done right, i.e. -// each component is cloned. - -fn test_clone<T: Clone>(arg: T) { - let _ = arg.clone(); -} - -fn foo() { } - -#[derive(Debug, PartialEq, Eq)] -struct S(i32); - -impl Clone for S { - fn clone(&self) -> Self { - S(self.0 + 1) - } -} - -fn main() { - test_clone(foo); - test_clone([1; 56]); - test_clone((1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)); - - let a = [S(0), S(1), S(2)]; - let b = [S(1), S(2), S(3)]; - assert_eq!(b, a.clone()); - - let a = ( - (S(1), S(0)), - ( - (S(0), S(0), S(1)), - S(0) - ) - ); - let b = ( - (S(2), S(1)), - ( - (S(1), S(1), S(2)), - S(1) - ) - ); - assert_eq!(b, a.clone()); -} |