diff options
Diffstat (limited to 'src/test/debuginfo/generic-static-method-on-struct-and-enum.rs')
-rw-r--r-- | src/test/debuginfo/generic-static-method-on-struct-and-enum.rs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/test/debuginfo/generic-static-method-on-struct-and-enum.rs b/src/test/debuginfo/generic-static-method-on-struct-and-enum.rs new file mode 100644 index 000000000..b0ac8ae85 --- /dev/null +++ b/src/test/debuginfo/generic-static-method-on-struct-and-enum.rs @@ -0,0 +1,58 @@ +// min-lldb-version: 310 + +// compile-flags:-g + +// gdb-command:run + +// STRUCT +// gdb-command:print arg1 +// gdb-check:$1 = 1 +// gdb-command:print arg2 +// gdb-check:$2 = 2 +// gdb-command:continue + +// ENUM +// gdb-command:print arg1 +// gdb-check:$3 = -3 +// gdb-command:print arg2 +// gdb-check:$4 = 4.5 +// gdb-command:print arg3 +// gdb-check:$5 = 5 +// gdb-command:continue + + +#![feature(omit_gdb_pretty_printer_section)] +#![omit_gdb_pretty_printer_section] + +struct Struct { + x: isize +} + +impl Struct { + + fn static_method<T1, T2>(arg1: T1, arg2: T2) -> isize { + zzz(); // #break + return 0; + } +} + +enum Enum { + Variant1 { x: isize }, + Variant2, + Variant3(f64, isize, char), +} + +impl Enum { + + fn static_method<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3) -> isize { + zzz(); // #break + return 1; + } +} + +fn main() { + Struct::static_method(1, 2); + Enum::static_method(-3, 4.5f64, 5); +} + +fn zzz() {()} |