mlugg 6a87e42c2e
AstGen: fix latent bug causing incorrect elision of dbg_stmt instructions
Thanks to jacobly0 for figuring this out. The chain of events causing
the failure this triggered is as follows.

* As of a recent commit, certain bodies no longer emit a redundant
  `block`, meaning there are more likely to be "interesting"
  instructions (i.e. not blocks) at the end of parent GenZir scopes.

* When emitting the first `dbg_stmt` in such a body, the elision logic
  incorrectly looks at a tag from an instruction in an enclosing scope.

* The tag of this instruction may be `undefined`, meaning that in unsafe
  builds it may be incorrectly identified as a `dbg_stmt` instruction.

* This instruction from another body is clobbered rather than emitting
  an actual `dbg_stmt` instruction. Note that this does not produce
  invalid ZIR, since the creator of the undefined instruction replaces
  the previously-undefined payload later.
2024-03-01 23:54:31 +00:00
..
2024-02-25 19:12:08 -08:00
2024-02-26 20:11:43 -08:00
2024-02-23 02:37:11 -07:00
2023-11-22 13:24:27 -05:00
2023-11-22 19:08:55 -07:00
2024-02-25 19:12:08 -08:00
2023-10-23 22:42:18 -04:00
2024-02-12 05:25:07 +01:00
2024-02-05 11:55:14 +03:30
2023-10-25 04:28:30 -04:00
2024-02-09 14:02:57 -08:00
2024-01-24 12:48:12 +01:00
2023-11-03 23:18:21 -04:00
2024-02-28 04:30:49 +01:00
2024-02-01 15:22:36 +02:00
2024-02-08 15:39:28 +01:00
2024-02-26 21:35:33 -07:00
2024-02-25 11:22:10 +01:00
2024-02-26 20:11:43 -08:00
2023-10-21 21:24:55 +00:00