Closed
Description
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()
.