about summary refs log tree commit diff
path: root/tests/debuginfo/trait-pointers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/debuginfo/trait-pointers.rs')
-rw-r--r--tests/debuginfo/trait-pointers.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/debuginfo/trait-pointers.rs b/tests/debuginfo/trait-pointers.rs
new file mode 100644
index 00000000000..e12daaf114e
--- /dev/null
+++ b/tests/debuginfo/trait-pointers.rs
@@ -0,0 +1,27 @@
+// min-lldb-version: 310
+
+// compile-flags:-g
+// gdb-command:run
+// lldb-command:run
+
+#![allow(unused_variables)]
+#![feature(omit_gdb_pretty_printer_section)]
+#![omit_gdb_pretty_printer_section]
+
+trait Trait {
+    fn method(&self) -> isize { 0 }
+}
+
+struct Struct {
+    a: isize,
+    b: f64
+}
+
+impl Trait for Struct {}
+
+// There is no real test here yet. Just make sure that it compiles without crashing.
+fn main() {
+    let stack_struct = Struct { a:0, b: 1.0 };
+    let reference: &Trait = &stack_struct as &Trait;
+    let unique: Box<Trait> = Box::new(Struct { a:2, b: 3.0 }) as Box<Trait>;
+}