Files
rust/tests/debuginfo
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
..
2024-12-04 23:03:44 +01:00
2024-08-18 17:41:01 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 16:58:26 -04:00
2024-08-19 17:10:43 -07:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:41:01 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 16:58:26 -04:00
2024-08-18 16:58:26 -04:00
2024-08-18 16:58:26 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 12:39:07 -04:00
2024-08-18 17:41:01 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-03-15 20:30:45 +01:00
2024-08-18 17:00:33 -04:00
2024-08-18 12:39:07 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 16:58:26 -04:00
2024-09-09 19:39:43 -07:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 16:58:26 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 12:39:07 -04:00
2024-08-18 17:00:33 -04:00
2024-08-18 17:00:33 -04:00