summaryrefslogtreecommitdiffstats
path: root/src/test/ui/new-impl-syntax.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/new-impl-syntax.rs')
-rw-r--r--src/test/ui/new-impl-syntax.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/ui/new-impl-syntax.rs b/src/test/ui/new-impl-syntax.rs
new file mode 100644
index 000000000..e1f2bea9a
--- /dev/null
+++ b/src/test/ui/new-impl-syntax.rs
@@ -0,0 +1,29 @@
+// run-pass
+
+use std::fmt;
+
+struct Thingy {
+ x: isize,
+ y: isize
+}
+
+impl fmt::Debug for Thingy {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ write!(f, "{{ x: {:?}, y: {:?} }}", self.x, self.y)
+ }
+}
+
+struct PolymorphicThingy<T> {
+ x: T
+}
+
+impl<T:fmt::Debug> fmt::Debug for PolymorphicThingy<T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ write!(f, "{:?}", self.x)
+ }
+}
+
+pub fn main() {
+ println!("{:?}", Thingy { x: 1, y: 2 });
+ println!("{:?}", PolymorphicThingy { x: Thingy { x: 1, y: 2 } });
+}