File tree 3 files changed +79
-7
lines changed
3 files changed +79
-7
lines changed Original file line number Diff line number Diff line change @@ -211,15 +211,12 @@ def to_string(self):
211
211
("(len: %i)" % length ))
212
212
213
213
def children (self ):
214
- cs = []
215
214
(length , data_ptr ) = rustpp .extract_length_and_ptr_from_slice (self .__val )
216
215
assert data_ptr .type .get_dwarf_type_kind () == rustpp .DWARF_TYPE_CODE_PTR
217
216
raw_ptr = data_ptr .get_wrapped_value ()
218
217
219
218
for index in range (0 , length ):
220
- cs .append ((str (index ), (raw_ptr + index ).dereference ()))
221
-
222
- return cs
219
+ yield (str (index ), (raw_ptr + index ).dereference ())
223
220
224
221
225
222
class RustStringSlicePrinter :
@@ -245,12 +242,10 @@ def to_string(self):
245
242
("(len: %i, cap: %i)" % (length , cap )))
246
243
247
244
def children (self ):
248
- cs = []
249
245
(length , data_ptr , cap ) = rustpp .extract_length_ptr_and_cap_from_std_vec (self .__val )
250
246
gdb_ptr = data_ptr .get_wrapped_value ()
251
247
for index in range (0 , length ):
252
- cs .append ((str (index ), (gdb_ptr + index ).dereference ()))
253
- return cs
248
+ yield (str (index ), (gdb_ptr + index ).dereference ())
254
249
255
250
256
251
class RustStdStringPrinter :
Original file line number Diff line number Diff line change
1
+ // Copyright 2013-2016 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ // ignore-windows failing on win32 bot
12
+ // ignore-freebsd: gdb package too new
13
+ // ignore-android: FIXME(#10381)
14
+ // compile-flags:-g
15
+ // min-gdb-version 7.7
16
+ // min-lldb-version: 310
17
+
18
+ // === GDB TESTS ===================================================================================
19
+
20
+ // gdb-command: run
21
+
22
+ // gdb-command: print vec
23
+ // gdb-check:$1 = Vec<u8>(len: 1000000000, cap: 1000000000) = {[...]...}
24
+
25
+ // gdb-command: print slice
26
+ // gdb-check:$2 = &[u8](len: 1000000000) = {[...]...}
27
+
28
+
29
+ #![ allow( unused_variables) ]
30
+
31
+ fn main ( ) {
32
+
33
+ // Vec
34
+ let mut vec: Vec < u8 > = Vec :: with_capacity ( 1_000_000_000 ) ;
35
+ unsafe { vec. set_len ( 1_000_000_000 ) }
36
+ let slice = & vec[ ..] ;
37
+
38
+ zzz ( ) ; // #break
39
+ }
40
+
41
+ fn zzz ( ) { ( ) }
Original file line number Diff line number Diff line change
1
+ // Copyright 2013-2016 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ // ignore-windows failing on win32 bot
12
+ // ignore-freebsd: gdb package too new
13
+ // ignore-android: FIXME(#10381)
14
+ // compile-flags:-g
15
+ // min-gdb-version 7.7
16
+ // min-lldb-version: 310
17
+
18
+ // === GDB TESTS ===================================================================================
19
+
20
+ // gdb-command: run
21
+
22
+ // gdb-command: print vec
23
+ // gdb-check:$1 = Vec<i32>(len: [...], cap: [...])[...]
24
+
25
+
26
+ #![ allow( unused_variables) ]
27
+
28
+ fn main ( ) {
29
+
30
+ let vec;
31
+ zzz ( ) ; // #break
32
+ vec = vec ! [ 0 ] ;
33
+
34
+ }
35
+
36
+ fn zzz ( ) { ( ) }
You can’t perform that action at this time.
0 commit comments