- 
                Notifications
    You must be signed in to change notification settings 
- Fork 13.9k
Closed
Labels
A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)Area: Debugging information in compiled programs (DWARF, PDB, etc.)A-layoutArea: Memory layout of typesArea: Memory layout of typesC-bugCategory: This is a bug.Category: This is a bug.O-windows-msvcToolchain: MSVC, Operating system: WindowsToolchain: MSVC, Operating system: Windows
Description
WinDbg does not understand niche-layout enums and the information provided is not very useful unless you understand how niche-layout works. Even then, aside from simple cases like the 0 niche for references, it can be non-trivial to decode what variant of the enum is active when either the niche is not 0 or the enum contains multiple tag only variants, not just one like Option does.
fn main() {
    let x = Some(&1u32);
    let y = Option::<&'static u32>::None;
    std::process::exit(0); // bp here
}Having the debuginfo more like the direct-tag layout case would help.
Metadata
Metadata
Assignees
Labels
A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)Area: Debugging information in compiled programs (DWARF, PDB, etc.)A-layoutArea: Memory layout of typesArea: Memory layout of typesC-bugCategory: This is a bug.Category: This is a bug.O-windows-msvcToolchain: MSVC, Operating system: WindowsToolchain: MSVC, Operating system: Windows
