Skip to content

LLVM assertion on debuginfo generation. #37633

Closed
@bluss

Description

@bluss

PR #37315 ran into an llvm assertion during development. (Note: It was triggered by the original code in the flat_map part linked here, the PR was since updated to remove it):

piece is larger than or outside of variable
  tail call void @llvm.dbg.value(metadata %"ty::FieldDefData"* %2, i64 0, metadata !105417, metadata !6823), !dbg !105421
!105417 = !DILocalVariable(arg: 3, scope: !105386, file: !15, line: 1, type: !105406)
!6823 = !DIExpression(DW_OP_bit_piece, 64, 64)
LLVM ERROR: Broken function found, compilation aborted!

The line inside librustc that produced the assertion was here, where .fold() is called on something using both .flat_map() and .map().

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions