summaryrefslogtreecommitdiffstats
path: root/src/test/ui/structs-enums/rec.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/structs-enums/rec.rs')
-rw-r--r--src/test/ui/structs-enums/rec.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/structs-enums/rec.rs b/src/test/ui/structs-enums/rec.rs
new file mode 100644
index 000000000..82c84ebd6
--- /dev/null
+++ b/src/test/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);
+}