summaryrefslogtreecommitdiffstats
path: root/src/test/ui/autoderef-full-lval.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/autoderef-full-lval.rs')
-rw-r--r--src/test/ui/autoderef-full-lval.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/autoderef-full-lval.rs b/src/test/ui/autoderef-full-lval.rs
new file mode 100644
index 000000000..0fadc5c98
--- /dev/null
+++ b/src/test/ui/autoderef-full-lval.rs
@@ -0,0 +1,25 @@
+struct Clam {
+ x: Box<isize>,
+ y: Box<isize>,
+}
+
+
+
+struct Fish {
+ a: Box<isize>,
+}
+
+fn main() {
+ let a: Clam = Clam{ x: Box::new(1), y: Box::new(2) };
+ let b: Clam = Clam{ x: Box::new(10), y: Box::new(20) };
+ let z: isize = a.x + b.y;
+ //~^ ERROR cannot add `Box<isize>` to `Box<isize>`
+ println!("{}", z);
+ assert_eq!(z, 21);
+ let forty: Fish = Fish{ a: Box::new(40) };
+ let two: Fish = Fish{ a: Box::new(2) };
+ let answer: isize = forty.a + two.a;
+ //~^ ERROR cannot add `Box<isize>` to `Box<isize>`
+ println!("{}", answer);
+ assert_eq!(answer, 42);
+}