about summary refs log tree commit diff
path: root/tests/codegen-llvm/src-hash-algorithm
diff options
context:
space:
mode:
authorJacob Pratt <jacob@jhpratt.dev>2025-08-22 22:00:49 -0400
committerGitHub <noreply@github.com>2025-08-22 22:00:49 -0400
commit5cfdbd6c08681249cab4794366d2ade92e1f7c03 (patch)
tree91acafcb6830099ef353408f048a999ec49f6df0 /tests/codegen-llvm/src-hash-algorithm
parent2dbd411d229ee382b1cf2ec3af84cd581d56d521 (diff)
parent6be749b619e5c74133a27ffa9f2485179b64068f (diff)
downloadrust-5cfdbd6c08681249cab4794366d2ade92e1f7c03.tar.gz
rust-5cfdbd6c08681249cab4794366d2ade92e1f7c03.zip
Rollup merge of #145218 - nilptr:nilptr/feat/lldb-enum-pretty-printer, r=Mark-Simulacrum
[Debuginfo] improve enum value formatting in LLDB for better readability

> TL;DR: When debugging with CodeLLDB, I noticed enum values were often hard to read because LLDB lists every possible variant, resulting in a verbose and cluttered view, even though only one variant is actually valid. Interestingly, raw enum types display nicely. After some investigation, I found that `&enum` values get classified as `Other`, so it falls back to `DefaultSyntheticProvider`, which causes this verbose output.

## What does this PR do?

This PR contains 2 commits:

1. change the enum value formatting from showing 2 separate fields (`value` for attached data and `$discr$` for the discriminator) to a concise `<readable variant name>: <attached data>` format
2. dereference pointer types in `classify_rust_type` so that it can return more accurate type for reference type

## Self-test proof

Before:

<img width="1706" height="799" alt="before" src="https://github.com/user-attachments/assets/b66c7e22-990a-4da5-9036-34e3f9f62367" />

After:

<img width="1541" height="678" alt="after" src="https://github.com/user-attachments/assets/36db32e2-f822-4883-8f17-cb8067e509f6" />
Diffstat (limited to 'tests/codegen-llvm/src-hash-algorithm')
0 files changed, 0 insertions, 0 deletions