rust/src/etc
Jacob Pratt 307f1609e9
Rollup merge of #135354 - Walnut356:msvc_lldb, r=wesleywiser
[Debuginfo] Add MSVC Synthetic and Summary providers to LLDB

Adds handling for `tuple$<>`, `ref$<slice$2<>`, `ref$<str$>` and `enum2$<>`.

Also fixes a bug in MSVC vec/string handling where the script was unable to determine the element's type due to LLDB ignoring template arg debug information

<details>
<summary>Sample code</summary>

```rust
pub enum Number {
    One = 57,
    Two = 99,
}

#[repr(u8)]
pub enum Container {
    First(u32),
    Second { val: u64, val2: i8 },
    Third,
}

...
    let u8_val = b'a';
    let float = 42.78000000000001;

    let tuple = (u8_val, float);

    let str_val = "eef";
    let mut string = "freef".to_owned();
    let mut_str = string.as_mut_str();
    let array: [u8; 4] = [1, 2, 3, 4];
    let ref_array = array.as_slice();
    let mut array2: [u32; 4] = [1, 2, 3, 4];
    let mut_array = array2.as_mut_slice();
    let enum_val = Number::One;
    let mut enum_val2 = Number::Two;
    let sum_val = Container::First(15);
    let sum_val_2 = Container::Second { val: 0, val2: 0 };
    let sum_val_3 = Container::Third;
    let non_zero = NonZeroU128::new(100).unwrap();
    let large_discr = NonZeroU128::new(255);
```
</details>

Before:

![image](https://github.com/user-attachments/assets/19fd0881-a4c3-4c68-b28f-769a67d95e35)

After:

![image](https://github.com/user-attachments/assets/d0479035-17ed-4584-8eb4-71d1314f8f7c)

try-job: aarch64-apple
try-job: x86_64-msvc-1
try-job: i686-msvc-1
try-job: x86_64-mingw-1
try-job: i686-mingw
try-job: aarch64-gnu
2025-02-23 02:44:16 -05:00
..
completions Update bootstrap completions 2025-02-05 15:33:40 +01:00
installer Revert "fix missing rustfmt and clippy for msi" 2025-01-08 14:44:01 +01:00
natvis rename RcBox in other places too 2024-10-11 10:04:22 +02:00
test-float-parse Fix typos 2024-12-30 21:43:22 +08:00
third-party Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
cat-and-grep.sh remove dead code in CGREP script 2024-10-27 21:23:28 -04:00
CONFIGS.md Add sublime-rust to CONFIGS.md. 2016-08-22 01:24:01 -04:00
cpu-usage-over-time-plot.sh Fix a bunch of typo 2022-08-31 18:24:55 +08:00
ctags.rust Update the ctags rules and targets. 2015-07-30 06:35:42 +10:00
dec2flt_table.py core: add #![warn(unreachable_pub)] 2025-01-20 18:35:32 +01:00
gdb_load_rust_pretty_printers.py Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
gdb_lookup.py Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
gdb_providers.py change lookup from OsString.inner.inner.0 -> OsString.inner.inner.bytes 2025-01-21 03:23:01 -06:00
generate-deriving-span-tests.py Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
generate-keyword-tests.py Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
htmldocck.py Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
indenter fix some python3 incompatibilities 2017-11-16 13:34:13 -05:00
lldb_batchmode.py Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
lldb_commands fix string and tuple struct formatting 2025-02-12 01:30:09 -06:00
lldb_lookup.py use python built in type annotations 2024-12-31 00:53:59 -06:00
lldb_providers.py fix string and tuple struct formatting 2025-02-12 01:30:09 -06:00
pre-push.sh remove GIT_DIR handling in pre-push hook 2024-06-19 07:33:12 +03:00
rust-gdb Typo fix in src/etc/rust-gdb 2023-04-14 19:07:13 -07:00
rust-gdbgui rust-gdbgui: remove excessive quotes 2023-08-22 09:09:00 -04:00
rust-lldb Fix loading pretty-printers in rust-lldb script 2020-08-28 09:29:45 +03:00
rust-windbg.cmd Remove licenses 2018-12-25 21:08:33 -07:00
rust_analyzer_eglot.el bootstrap: Add support for ./x setup emacs 2024-10-01 12:59:52 +01:00
rust_analyzer_helix.toml Use a separate dir for r-a builds consistently in helix config 2024-11-09 01:27:29 +01:00
rust_analyzer_settings.json rust_analyzer_settings: force use of 'nightly' toolchain 2024-12-01 22:54:08 +01:00
rust_analyzer_zed.json Add support for the Zed IDE to ./x setup 2025-02-15 17:30:20 -05:00
rust_types.py use python built in type annotations 2024-12-31 00:53:59 -06:00