diff options
author | Tom Tromey <tom@tromey.com> | 2017-10-02 13:55:42 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-10-02 14:06:48 -0600 |
commit | 45320ffa0450b27e232d933d2a1c6a09d94ac18b (patch) | |
tree | 82e528f5a61c63c6b01d67694039d754c7fad440 /gdb/testsuite/gdb.rust/simple.rs | |
parent | b3e3859bc577db5b79bb3d39048fd46c0a0420ef (diff) | |
download | binutils-45320ffa0450b27e232d933d2a1c6a09d94ac18b.zip binutils-45320ffa0450b27e232d933d2a1c6a09d94ac18b.tar.gz binutils-45320ffa0450b27e232d933d2a1c6a09d94ac18b.tar.bz2 |
Fix &str printing in Rust
Printing a string slice ("&str") in Rust would print until the
terminating \0; but that is incorrect because a slice has a length.
This fixes &str printing, and arranges to preserve the type name when
slicing a slice, so that printing a slice of an "&str" works as well.
This is PR rust/22236.
2017-10-02 Tom Tromey <tom@tromey.com>
PR rust/22236:
* rust-lang.c (rust_val_print_str): New function.
(val_print_struct): Call it.
(rust_subscript): Preserve name of slice type.
2017-10-02 Tom Tromey <tom@tromey.com>
PR rust/22236:
* gdb.rust/simple.rs (main): New variable "fslice".
* gdb.rust/simple.exp: Add slice tests. Update string tests.
Diffstat (limited to 'gdb/testsuite/gdb.rust/simple.rs')
-rw-r--r-- | gdb/testsuite/gdb.rust/simple.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.rust/simple.rs b/gdb/testsuite/gdb.rust/simple.rs index 9c154e7..d6d1755 100644 --- a/gdb/testsuite/gdb.rust/simple.rs +++ b/gdb/testsuite/gdb.rust/simple.rs @@ -95,6 +95,8 @@ fn main () { let g = b"hi bob"; let h = b'9'; + let fslice = &f[3..]; + let i = ["whatever"; 8]; let j = Unit; |