summaryrefslogtreecommitdiffstats
path: root/src/test/debuginfo/trait-pointers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/debuginfo/trait-pointers.rs')
-rw-r--r--src/test/debuginfo/trait-pointers.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/debuginfo/trait-pointers.rs b/src/test/debuginfo/trait-pointers.rs
new file mode 100644
index 000000000..e12daaf11
--- /dev/null
+++ b/src/test/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>;
+}