about summary refs log tree commit diff
path: root/tests/ui/structs-enums/rec.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/structs-enums/rec.rs')
-rw-r--r--tests/ui/structs-enums/rec.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/structs-enums/rec.rs b/tests/ui/structs-enums/rec.rs
new file mode 100644
index 00000000000..82c84ebd6ff
--- /dev/null
+++ b/tests/ui/structs-enums/rec.rs
@@ -0,0 +1,24 @@
+// run-pass
+
+#[derive(Copy, Clone)]
+struct Rect {x: isize, y: isize, w: isize, h: isize}
+
+fn f(r: Rect, x: isize, y: isize, w: isize, h: isize) {
+    assert_eq!(r.x, x);
+    assert_eq!(r.y, y);
+    assert_eq!(r.w, w);
+    assert_eq!(r.h, h);
+}
+
+pub fn main() {
+    let r: Rect = Rect {x: 10, y: 20, w: 100, h: 200};
+    assert_eq!(r.x, 10);
+    assert_eq!(r.y, 20);
+    assert_eq!(r.w, 100);
+    assert_eq!(r.h, 200);
+    let r2: Rect = r;
+    let x: isize = r2.x;
+    assert_eq!(x, 10);
+    f(r, 10, 20, 100, 200);
+    f(r2, 10, 20, 100, 200);
+}